0

if ステートメントの条件が true の場合にのみ、jQuery ダイアログをアクティブ化 (ロード) したい。このようなもの:

if (/*condition is true*/) {
  var dialog = '<div id="resultDialog" title="Search Results"><p>Results to your search.  </p></div>';
  $('body').append(dialog);
  $("#resultDialog").dialog({
    buttons: {
        "No": function () {
            $(this).dialog("close");
        },
        "Yes": function () {
            //do something
        }
    }
  });
  $("#resultDialog").dialog("open");
}else{
        //do something else
    };

ダイアログはクリック/変更イベントに依存しません。今のところデバッグすると、条件が真であることがわかりますが、それでもダイアログは表示されません。任意の提案/ヘルプをいただければ幸いです。

4

1 に答える 1

2

コードを で開始し$(document).ready(function(){、 で終了します。また、代わりに を});呼び出し.dialog()ています。のデフォルトをに変更しない限り、呼び出しを使用してダイアログを開く必要はありません。#dialog#resultDialogautoOpenfalse

修正およびクリーンアップされたコード:

$(document).ready(function(){
  if (/*condition is true*/) {
    var dialog = '<div id="resultDialog" title="Search Results" style="display:none"><p>Results to your search.</p></div>';
    $('body').append(dialog);
    $("#resultDialog").dialog({
      buttons: {
        "No": function () {
            $(this).dialog("close");
        },
        "Yes": function () {
            //do something
        }
      }
   });
 }else{
   //do something else
 }
});
于 2013-02-19T00:58:53.220 に答える