親ウィンドウを更新する beforeclose ハンドラー メソッドを持つ JQuery ダイアログがあります。
$( "#dialog" ).dialog({
beforeclose: function(event, ui) {
refreshParent();
}
});
一度開いたダイアログは、複数の場所から閉じることができます。ダイアログが閉じられるたびに、refreshParent() メソッドが呼び出されます。
ダイアログが閉じている場合、特定の条件で refreshParent() を呼び出すべきではないかどうかを確認する必要があります。
これを行う 1 つの方法は、以下のようにグローバル フラグを設定することです。
$( "#dialog" ).dialog({
beforeclose: function(event, ui) {
if(doRefreshParent)
refreshParent();
}
});
ダイアログクローズを呼び出す前に、doRefreshParent を true または false に設定します。しかし、これは良いアプローチではないようです。
ダイアログのクローズが呼び出された場所から beforeclose ハンドラー内で確認できる方法はありますか (つまり、ダイアログのクローズが発生したためにクリックされた要素の ID)。そのため、refreshParent() の呼び出しを制御できます。