JQueryUIダイアログウィジェットを使用してページにポップアップ画面を表示したい。
これを実装するため<div class="popup-placeholder">
に、私は自分のページにを持っています。実際には、ページに複数あります(これがソリューションに違いをもたらす場合)
ボタンをクリックすると、ダイアログを初期化して「開く」ことになります。ポップアップのコンテンツを取得するためにAjax呼び出しを行うことになっているため、ポップアップの初期化はアクションクリック内で行われます。(クリックイベントから初期化を取り除こうとしましたが、機能しませんでした$('div.popup-placeholder').dialog();
)
var popupContext = $('#' + contextControl.id + ' > .popup-placeholder');
popupContext.html(formHtml);
$(popupContext).dialog({
bgiframe: true,
modal: true,
autoOpen: false,
closeOnEscape: false,
dialogClass: '',
draggable: true,
position: 'center',
resizable: false,
width: 600
});
アクションボタンをクリックすると、フォームが表示され、想定どおりに実行されます。これで、ポップアップに「ダイアログボタンではない」という近いリンクが表示されますが、イベントがバインドされた別のリンクが表示されます。これを行います...
$('#popup-placeholder-61').dialog('close');
ここで、#popup-placeholder-61は$(popupContext)と同じです
私が今直面している問題は、ポップアップを閉じるときに、同じアクションボタンがポップアップを再び表示しないことです。問題は<div class="popup-placeholder">
、マークアップからが削除されたことにあるようです。
次のページで解決策を試しましたが、役に立ちませんでした -StackOverflowでJqueryダイアログを閉じる
だから、私はもっと助けが必要です