web-dev-qa-db-ja.com

ASP.NETのポストバックを使用したjQueryモーダルダイアログ

JQuery/ jQuery UI を最新バージョン(jQuery 1.9.0、jQuery UI 1.10.0)にアップグレードしましたが、jQueryUIダイアログ機能の一部が壊れているようです。

ASP.NETのjQueryUIダイアログでポストバックを実行するには、jQueryがFORMの外部でDIVを再構築するため、DIVをメインのFORMに再追加する必要があるというかなり一般的な回避策がありました。 :

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

残念ながら、これをアップグレードすると、ダイアログが背景の灰色/無効なオーバーレイの背後に配置されます。そのため、ポップアップのフォームは使用できず、すべてグレー表示されます。私はいくつかのことを試しましたが、それを機能させることができないようです-この古い回避策はもはや機能しないようです。誰かがうまくいく新しい回避策を知っていますか?それとも私は何かが足りないのですか?これは私がアップグレードするまでうまくいきました。

これは、USEDが機能するための回避策に関する詳細情報です。

これをInternetExplorer9とGoogleでテストしましたChrome 24.x

jQuery UI Webサイトによる 、DialogAPIはjQueryUI1.10.0で完全に再設計されました。

17
Adam Plocher

OK、これはjQuery UIv1.10の修正のようです。

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

JQuery UI v1.10では、appendToプロパティが追加されました。これは、.parent().appendTo($("form"))を呼び出すのとまったく同じことを行うようです。修正の秘訣はz-indexです。

18
Adam Plocher