0

私のフッターページで

   Link 1 , Link 2  , Link 3 

これらのリンクをクリックすると、データコンテンツとフッターファイルを含むダイアログボックスが開きます。したがって、ダイアログは次のようになります。

       Data 
       Link 1 , Link 2 , Link 3

そして、Dialogからのリンクの1つをクリックすると、別のダイアログが開きます。したがって、このロジックは無限ループに入ります。

このダイアログボックスの重複を回避する方法はありますか?

オープン関数:

$(function() {

    $('#dialog').dialog('close');   
    // Trying it here but not sure if this is the right place  to do 
   // I want to close all dialog boxes before opening one 

    $( "#dialog" ).dialog({
        modal:true,
        height:600,
        width:600,
        my: "center",
        at: "center",
        of:window,
        resizable:false,
        closeOnEscape:false,
        open:function (event, ui) {
                 $('#dialog').load('/contact.jsp');
        }
    });

    $( "#dialog" ).dialog("option", "title", url);
});

そもそも.closeを適切な場所に配置しているかどうかをまだ考えていますか?

4

3 に答える 3

1

このようなものを動的に作成する関数があると仮定すると、ループになります。その場合、重複を避けるための解決策は、ダイアログ ボックスにそれ自体に固有のクラス名を付け、作成する前に、jquery 呼び出しを使用してそのクラス名を持つ要素を削除することです。

.remove()の詳細はこちら

于 2012-08-16T19:31:33.740 に答える
0

ダイアログをロードするときにフッター ファイルを含めないでください。

于 2012-08-16T19:31:28.500 に答える
0

次のように、リンクを介して呼び出されるページに GET パラメータを追加します。mypage.php?dialog=true

フッターで、リンクを表示する前にこのパラメーターが存在するかどうかを確認します。

<?php if(!isset($_REQUEST['dialog'])) : ?>
HTML code to display your link <a href="mypage.php?dialog=true">link</a>
<?php endif; ?>
于 2012-08-16T19:39:55.723 に答える