Dropdownlist SelectedIndexChanged event do not trigger inside jQuery ui-Dialog
我在jQuery ui-Dialog中有一个带有SelectedIndexChanged事件的Dropdownlist,但是当我在DropdownList中选择一个项目时,尽管我已经将AutopostBack设置为true,但没有触发SelectedIndexChanged事件,这可能是由这个问题引起的吗?有什么主意吗?
这是我的示例代码:
1 2 3 4 5 6 7 8 9 10 11 | $(document).ready(function () { init(); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); function EndRequestHandler(sender, args) { init(); } }); |
javascript函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function init() { $(".dialog-form").dialog({ autoOpen: false, modal: true, draggable: false, width: 1000, height: 600, close: function () { $('body').css('overflow', 'auto'); $(".dialog-form").dialog("close"); } }).parent().appendTo("form1"); $(".add_ppmp").click(function () { $(".dialog-form").dialog("open"); $('body').css('overflow', 'hidden'); }); } |
aspx代码:
1 | </asp:DropDownList> |
我将更笼统地解释这一点,以帮助未来的Google员工。
如果您查看页面的源代码,则可以立即拍打额头并说"当然!"
使用jQuery UI创建对话框时,创建对话框的元素来自
对此的修复非常简单:)。创建对话框后,只需将其附加到
您正确地尝试在代码中执行此操作,但是您使用过的
您可以使用以下代码进行修复:
如果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function init() { $(".dialog-form").dialog({ autoOpen: false, modal: true, draggable: false, width: 1000, height: 600, close: function () { $('body').css('overflow', 'auto'); $(".dialog-form").dialog("close"); } }).parent().appendTo($("form:first")); $(".add_ppmp").click(function () { $(".dialog-form").dialog("open"); $('body').css('overflow', 'hidden'); }); } |
将jquery ui对话框追加到上面的表单中。