programing

HTML.vmdklist에 대한 변경 이벤트

powerit 2023. 8. 16. 22:40
반응형

HTML.vmdklist에 대한 변경 이벤트

드롭다운 목록에 대한 onchange 이벤트에 대한 작업 방법을 트리거하려고 하는데, 변경 시 jquery를 사용하지 않고 어떻게 해야 합니까?

@Html.DropDownList("Sortby", 
                   new SelectListItem[] 
                   { 
                       new SelectListItem() { Text = "Newest to Oldest", Value = "0" }, 
                       new SelectListItem() { Text = "Oldest to Newest", Value = "1" }})

감사해요.

만약 당신이 jquery를 원하지 않는다면 javascript로 할 수 있습니다.

@Html.DropDownList("Sortby", new SelectListItem[] 
{ 
     new SelectListItem() { Text = "Newest to Oldest", Value = "0" }, 
     new SelectListItem() { Text = "Oldest to Newest", Value = "1" },
     new { @onchange="callChangefunc(this.value)" } 
});

<script>
    function callChangefunc(val){
        window.location.href = "/Controller/ActionMethod?value=" + val;
    }
</script>

당신은 이걸 할 수 있다.

@Html.DropDownList("Sortby", new SelectListItem[] { new SelectListItem() 
  { 

       Text = "Newest to Oldest", Value = "0" }, new SelectListItem() { Text = "Oldest to Newest", Value = "1" } , new
       {
           onchange = @"form.submit();"
       }
})

작업 방법에 값을 전달하는 경우 이를 시도할 수 있습니다.

@Html.DropDownList("Sortby", new SelectListItem[] { new SelectListItem() { Text = "Newest to Oldest", Value = "0" }, new SelectListItem() { Text = "Oldest to Newest", Value = "1" }},new { onchange = "document.location.href = '/ControllerName/ActionName?id=' + this.options[this.selectedIndex].value;" })

매개 변수가 전달되지 않는 경우 쿼리 문자열을 제거합니다.

사용해 보십시오.

@Html.DropDownList("Sortby", new SelectListItem[] { new SelectListItem() 
{ Text = "Newest to Oldest", Value = "0" }, new SelectListItem() 
{ Text = "Oldest to Newest", Value = "1" }},
new { onchange = "document.location.href = '/ControllerName/ActionName?id=' + this.options[this.selectedIndex].value;" })

먼저 변경 시 드롭다운 이벤트를 제공해야 합니다.

@Html.DropDownList("ddl_reportId", new SelectList(ViewBag.ddl_reportName, "ddl_reportId", "ddl_reportName"), "Raporu seçin", new { @class = "form-control", @onchange = "getVal()" })

스크립트 섹션에서는 이렇게 불러야 합니다.

function getVal() {
    var selectedVal = document.getElementById("ddl_reportId").value;
    console.log(selectedVal)};

목록 보기가 있는 경우 다음 작업을 수행할 수 있습니다.

  1. 선택 목록 정의:

    @{
       var Acciones = new SelectList(new[]
       {
      new SelectListItem { Text = "Modificar", Value = 
       Url.Action("Edit", "Countries")},
      new SelectListItem { Text = "Detallar", Value = 
      Url.Action("Details", "Countries") },
      new SelectListItem { Text = "Eliminar", Value = 
      Url.Action("Delete", "Countries") },
     }, "Value", "Text");
    }
    
  2. 정의된 SelectList를 사용하여 각 레코드에 대해 다른 ID를 만들고(각 요소의 ID는 뷰에서 고유해야 함을 기억) 마지막으로 onchange 이벤트에 대한 Javascript 함수를 호출합니다(예: URL 및 레코드 키에 매개 변수 포함).

    @Html.DropDownList("ddAcciones", Acciones, "Acciones", new { id = 
    item.CountryID, @onchange = "RealizarAccion(this.value ,id)" })
    
  3. on change 함수는 다음과 같은 것이 될 수 있습니다.

    @section Scripts {
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>
    <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
    
    <script type="text/javascript">
    
    function RealizarAccion(accion, country)
    {
    
        var url = accion + '/' + country;
        if (url != null && url != '') {
            window.location.href = url ;
        }
    }
    </script>
    
    @Scripts.Render("~/bundles/jqueryval")
    }
    

변경 이벤트 시 Javascript 함수 @Html을 호출하려면 다음을 시도하십시오.드롭다운 목록("ProjectId", 모델).프로젝트, "프로젝트 선택", 새 사전<string, object> {{"class", "select2" }, {"onchange", "onProjectSelect() }}

function onProjectSelect() {
    //write your business logic..
}

언급URL : https://stackoverflow.com/questions/25056508/onchange-event-for-html-dropdownlist

반응형