0

只有当我的 if 语句的条件为真时,我才想激活(加载)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()on#dialog而不是#resultDialog. 您不需要使用调用来打开对话框,除非您将默认值更改autoOpenfalse

您的代码,已修复和清理:

$(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 回答