Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mvc下拉菜单更改事件仅触发一次?_Javascript_Jquery_Asp.net Mvc - Fatal编程技术网

Javascript mvc下拉菜单更改事件仅触发一次?

Javascript mvc下拉菜单更改事件仅触发一次?,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我在这个dropdownlist的change事件触发的javascript的帮助下提交了一个AjaxForm,并相应地更新了div(其中也包含ddlist) $(function() { $('#Page').change(function() { alert("testing"); var value = $(this).val(); if (value != "<

我在这个dropdownlist的change事件触发的javascript的帮助下提交了一个AjaxForm,并相应地更新了div(其中也包含ddlist)

  $(function() {
            $('#Page').change(function() {
                alert("testing");
                var value = $(this).val();
                if (value != "<%=Model.CurrentPage%>") {
                    $("#pageJump").click();
                }
            });
        }); 

    <div id = "updateDiv">

    <%=Html.DropDownList("Page", Model.dropDown)%>

</div>

它仍然不起作用。它在Ajax帖子之后调用测试,因此它命中了代码,但由于某种原因没有绑定?

每当您使用Ajax更新updateDiv的内容时,DOM每次都会刷新。我不太确定,但它会解开与它的孩子相关的所有事件。因此,您的函数只执行一次

你可以用任何一种

  • 在ajax调用的回调方法中绑定click事件或
  • 将单击事件绑定到

    $('#updateDiv select').change(function(){ }); // 不确定是否可行


  • 你能详细说明一下吗?我对jquery有点陌生。@progtick,您可以在ajax响应处理程序函数中绑定重新附加更改事件。
     $(function() {
            initPaging();
        });
    
        function initPaging() {
            alert("TEST");
            initPagingDdl();
        }
    
        function initPagingDdl() {
            $('#Page').change(function() {
                alert("all");
                var value = $(this).val();
                alert(value);
                if (value != "<%=Model.CurrentPage%>") {
                    $("#pageJump").click();
                }
            });
    }
    
    OnComplete = "initPaging"