2

親ウィンドウを更新する 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() の呼び出しを制御できます。

4

1 に答える 1

0

親要素を認識するために、クラスを使用して区別することができます。シンプルなエフェクトメソッド。実例を見つけることができます

メインダイアログの構成::

jQuery("#dialog").dialog({
    autoOpen: false,

    modal: true,

    open: function() {

        var id = $('.parentelement').attr('id');
        $("#dialog").html("The parent id is::"+id);
        //alert("the id is:" + id);          
    },
     close: function(){
            $('.parentelement').removeClass('parentelement'); 
    }
});
于 2012-12-14T05:51:04.897 に答える