当另一个字段更新时,Jquery模式在UpdatePanel中关闭

时间:2013-08-14 22:02:29

标签: jquery asp.net updatepanel

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

    });
});

1 个答案:

答案 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>