我在此下拉列表的更改事件触发的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>
updateDiv正在被一些Ajax更新。 DropDownList正确填充项目,但它只触发上面的javascript事件(在它发布一次之后),而不是第二次。它为什么这样做?
编辑:
$(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();
}
});
}
在我的AjaxOptions构造函数中,我设置了:
OnComplete = "initPaging"
它仍无法正常工作。它在Ajax帖子之后调用了TEST,所以它正在命中代码,但由于某些原因没有绑定?
答案 0 :(得分:0)
每当使用AJAX更新updateDiv的内容时,DOM每次都会刷新。我不太确定,但它解除了与其孩子相关的所有事件。因此,您的功能仅执行一次。
您可以使用
将点击事件绑定到
$('#updateDiv select')。change(function(){ }); //不确定是否可行