【问题标题】:jQuery modal dialog with postbacks in ASP.NET带有 ASP.NET 回发的 jQuery 模态对话框
【发布时间】:2013-01-16 05:03:54
【问题描述】:

我刚刚将我的 jQuery/jQuery UI 升级到最新版本(jQuery 1.9.0、jQuery UI 1.10.0),它似乎破坏了我的一些 jQuery UI 对话框功能。

为了在 ASP.NET 中的 jQuery UI 对话框中进行回发,有一个非常常见的解决方法,您必须将 DIV 重新附加到主 FORM,因为 jQuery 会在 FORM 之外重新构建 DIV ,就像这样:

$("#newInsurance").dialog({
    autoOpen: false,
    modal: true,
    open: function (type, data) {
        $(this).parent().appendTo($("form:first"));
    }
});

不幸的是,自从升级后,现在将对话框置于灰色/禁用的背景覆盖层后面。所以Popup中的表格无法使用,全部变灰。我已经尝试了几件事,但我似乎无法让它工作 - 似乎这种旧的解决方法不再有效。有谁知道可行的新解决方法?还是我错过了什么?在我升级之前,这一直很好。

以下是有关使用的解决方法的更多信息:

我使用 Internet Explorer 9 和 Google Chrome 24.x 对此进行了测试

According to the jQuery UI website,Dialog API 在 jQuery UI 1.10.0 中已经完全重新设计:

【问题讨论】:

    标签: jquery asp.net jquery-ui jquery-ui-dialog


    【解决方案1】:

    好的,所以这似乎是 jQuery UI v1.10 的修复:

    $("#newInsurance").dialog({
        autoOpen: false,
        appendTo: "form",
        modal: true
    }).parent().css('z-index', '1005');
    

    在 jQuery UI v1.10 中,他们添加了一个 appendTo 属性,这似乎与调用 .parent().appendTo($("form")) 完全相同。修复的诀窍是 z-index。

    【讨论】:

    • 谢谢。无论如何,我的工作没有 .parent.css(...) 位(jQuery UI - v1.10.2)
    • 这行得通!但这是应该按照 Jquery 团队处理的方式吗?它确实看起来像一个黑客
    • 我真的不确定。在尝试一些有效的方法之前,我与这个斗争了很长一段时间并四处寻找。现在可能有更多可用的信息,但是当我最近在 JUI 1.10 发布之后实现它时,我找不到任何东西。
    • 简单解释一下,这个问题的发生是因为在创建对话框时对象被移到了 ASP.NET 表单之外,如果您使用的是更新面板,您应该追加到更新面板。类似于 appendTo: "#"
    • 完美。这让我免于撕掉我剩下的头发。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多