if else循环中的jQuery UI对话框

时间:2013-02-19 00:56:40

标签: jquery jquery-ui jquery-ui-dialog

我只想在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
    };

该对话框不依赖于点击/更改事件。截至目前,当我调试时,我可以看到条件为真,但仍然没有出现对话框。任何建议/帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

使用$(document).ready(function(){开始代码并以});结束。此外,您在.dialog()而不是#dialog上呼叫#resultDialog。除非您将autoOpen的默认值更改为false,否则无需使用该调用来打开对话框。

您的代码,已修复并清理过:

$(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
 }
});