0

私は自分自身を jQuery/javascript の専門家とは絶対に思っていませんが、十分なプログラミングを知っていますが、このプロジェクトで、jQuery UI が 2 番目のダイアログを初期化できないという問題に遭遇しました。それぞれを初期化する前にテストする if ステートメントが 2 つありますが、最初の if ステートメントだけが有効になっているようです。

$(document).ready(function(){  
  // 通常のダイアログ ボックス
        $("#dialog").dialog({autoOpen: false, modal: true});
        $("#dialog_link").click(関数(){
            $("#dialog").dialog("開く");
            false を返します。
        });

  // 確認ボックス
  if($.cookie("modal_confirm").length > 0 && $.cookie("modal_confirm")!="") {
   $("body").prepend(''+$.cookie("modal_confirm")+'');
   var g = $("#confirm");
   g.html( g.html().replace(/\+/g," ") );
   $("#confirm").dialog({
     モーダル: 真、
     スタック: 真、
     ボタン: {
      'OK': function() { window.location.replace($.cookie("confirmGo"))); (これ).dialog('閉じる'); }、
      キャンセル: function() { $(this).dialog('close'); }
     }、
     close: function(){ $.cookie("modal_confirm",null); $.cookie("confirmGo",null);}
   });
  }

  //アラートボックス
  if($.cookie("alert").length > 0 && $.cookie("alert")!="") {
   $("body").prepend(''+$.cookie("alert")+'');
   var f = $("#alert");
   f.html( f.html().replace(/\+/g," ") );
   $("#alert").dialog({modal: true, stack: true, buttons: {'OK': function() {$(this).dialog('close');}}, close: function() { $.cookie("アラート",null); }});
  }
    });

この場合、確認が開いている間、アラートモーダルは開きません。確認の前に移動すると、アラートは開きますが、確認は開きません。これは jQuery UI の問題ですか? もしそうなら、回避策はありますか?

助けてください、事前に感謝します。

4

1 に答える 1

1

18 行目に余分な括弧があり、後で同じ行の (this) の前にある $ を忘れました。それは読むべきです:

'OK': function() { window.location.replace($.cookie("confirmGo")); $(this).dialog('close'); },

これらのエラーを見つけるためにjslintを使用しました。

于 2010-04-29T21:07:17.840 に答える