Dialog Widget在asp.net中的dropdownlist的selectionIndexchanged上自动关闭

时间:2015-01-08 10:44:06

标签: jquery asp.net

在我的页面中我使用对话框小部件作为弹出窗口。弹出窗口包含一个drowdownlist(autopostBack:true).on selectedindexchanged弹出窗口自动关闭。请帮我避免这个。

<input type="button" id="opener" value="OPEN" />
<div id="dialog" title="Filters">
<asp:DropDownList ID="update_lb_name" runat="server"  style="width:200px" AutoPostBack="true" OnSelectedIndexChanged="fvr_selectedIndex_changed" ></asp:DropDownList>
<input type="button" id="closer" value="CLOSE" />
</div>
 jquery code:
<script type="text/javascript">
$(document).ready(function () {
    $(function () {
        $("#dialog").dialog({

            autoOpen: false,
            modal: true,
            dialogClass: 'no-close',
            draggable: false,
            minWidth: 500
        });
    });
});
$("#opener").click(function () {
    $("#dialog").dialog("open");
});
$("#closer").click(function () {
    $("#dialog").dialog("close");
});

css代码:

<STYLE type="text/css">
     .no-close .ui-dialog-titlebar-close {display: none }
</STYLE> 

1 个答案:

答案 0 :(得分:0)

在你的函数中使用return false;它将起作用。

$("#opener").click(function () {
    $("#dialog").dialog("open");
    return false;
});

或使用event.preventDefault();,如下所示

$("#opener").click(function (event) {
    $("#dialog").dialog("open");
    event.preventDefault();
});

编辑1

因为您使用autopostback的下拉列表为true。所以它会进行回发,你的弹出窗口将会关闭。

您需要在回发之前设置一些值,以便在回发后再次打开弹出窗口。

示例可以使用hidden filed并在回发之前设置值,并使用此值再次打开弹出窗口。