0

我有一个带有 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");

    });
});

4

1 回答 1

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>
于 2013-08-16T20:05:04.390 回答