Jquery UI对话框也显示为灰色

Kim*_* K. 19 asp.net jquery jquery-ui

我正在使用jquery UI对话框来修改ASP.NET网站中的数据行.打开对话框时,我将对话框附加到底层表单,这使我可以使用回发. $('#' + id).parent().appendTo($("form"));

但是当我设置对话框属性时,modal: true不仅背景灰显,对话框也是灰色且无法访问.

如果我删除$('#' + id).parent().appendTo($("form"));它的工作原理应该但然后我不能使用回发.

我做错了什么,或者我是否错过了让它发挥作用的一点?

Javascript在.aspx之上

<script type="text/javascript">
    $(document).ready(function () {

        $('#workDialog').dialog({
            autoOpen: false,
            draggable: true,
            resizable: false,
            width: 800,
            height: "auto",
            modal: true
        });
    });

    function showDialog(id) {
        $('#' + id).parent().appendTo($("form"));
        $('#' + id).dialog("open");
    }

    function closeModalDiv(id) {
        $('#' + id).dialog("close");
    }
</script>
Run Code Online (Sandbox Code Playgroud)

包含对话框的div

<div id="workDialog" title="Basic dialog">
    <asp:UpdatePanel ID="upWorkDialog" runat="server" UpdateMode="Conditional">  <ContentTemplate>
        <table id="Table1" class="item">
        <tr>
            ...
        </tr>
        <tr>
            <td><asp:TextBox ID="txt...></asp:TextBox></td>
            <td><asp:TextBox ID="txt...></asp:TextBox></td>
            <td><asp:TextBox ID="txt...></asp:TextBox></td>
            <td><asp:TextBox ID="txt...></asp:TextBox></td>
        </tr>
        </table>
        <asp:Label ID="lblWorkEditError" runat="server" Text=""></asp:Label>

        <asp:Button ID="btnSave" runat="server" Text="Gem" OnClick="btnSave_Click" />
        <asp:Button ID="btnCancel" runat="server" Text="Annuller" OnClientClick="javascript:closeModalDiv('workDialog');" />
    </ContentTemplate></asp:UpdatePanel>
</div>
Run Code Online (Sandbox Code Playgroud)

Vir*_*tel 27

这是1.10.0中的已知错误,在旧版本中工作正常,但我通过更改ui对话框样式的z-index解决了这个问题

在样式表或页面上添加以下样式

.ui-dialog
{
    z-index: 101;
}
Run Code Online (Sandbox Code Playgroud)

或者在jquery-ui-1.10.0 css中找到.ui-dialog类并添加"z-index:101;" 风格规则

现在重新加载页面和IT工作...


小智 6

这是1.10.0中的已知错误.我通过更改叠加层的z-index来解决它.

$('#workDialog').dialog({
            modal: true,
            width: 400,
            height: 200,
            appendTo: $("form:first")
        });
        var dz = $(".ui-front").css("z-index")
        $(".ui-widget-overlay").css({ "z-index": dz - 1 });
        $(".ui-widget-overlay").appendTo($("form:first"));
Run Code Online (Sandbox Code Playgroud)