我有一个带有ASP按钮的UpdatePanel,它启动了click事件的搜索(在代码后面)。然后,下拉列表会在同一个UpdatePanel中使用搜索信息进行更新。
我已经配置了一个JQuery模式对话框,以便在搜索时间内弹出,但是当搜索后更新下拉菜单时,我想让它消失。我不确定我应该在结束时使用什么(事件,ui),或者这是否是完全关闭它的正确方法。
<script>
$(document).ready(function () {
$("#dialog1").dialog({ autoOpen: false, modal: true, resizable: false, close: function (event, ui) { } });
$("#<%=btnItemNumSearch.ClientID%>").click(function () {
$("#dialog1").dialog("open");
});
});
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
$("#dialog1").dialog({ autoOpen: false, modal: true, resizable: false, close: function (event, ui) { } });
$("#<%=btnItemNumSearch.ClientID%>").click(function () {
$("#dialog1").dialog("open");
});
});
答案 0 :(得分:0)
我最终使用jQuery BlockUI插件来完成工作,并使用jQuery ajaxComplete()来关闭窗口。这在ASP.NET UpdatePanel中使用以下代码正常工作。 http://jquery.malsup.com
<script type="text/javascript">
$(document).ready(function () {
// bind your jQuery events here initially
$(document).ready(function () {
$("#<%=btnMyButton.ClientID%>").click(function () {
$.blockUI({ message: $('#dialog1') });
});
$.ajax({
complete: function () {
// unblock when remote call returns
$.unblockUI();
}
});
});
});
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
$(document).ready(function () {
$("#<%=btnMyButton.ClientID%>").click(function () {
$.blockUI({ message: $('#dialog1') });
});
$.ajax({
complete: function () {
// unblock when remote call returns
$.unblockUI();
}
});
});
});
</script>
<div id="dialog1" title="Item Search" style="display: none">
Searching the database, please wait...
</div>