jQuery UI对话框只打开一次

时间:2011-07-12 11:32:52

标签: javascript jquery jquery-ui-dialog

我在SO上找到了这个问题的答案,但似乎问题在这里有所不同。它关闭后我无法再打开它。

编辑:好的,似乎我的Jquery代码在其他地方有错误。

 $(function() {
    $( "#dialog" ).dialog({
        autoOpen: false,
        show: "blind",
        hide: "explode"
    });
  $('#opener').click(openDialog);

})

var openDialog = function(){


   $('#dialog').dialog('option', 'buttons',{
      "Cancel":function(){
         $('#dialog').dialog('close');
      }
  });


 $('#dialog').dialog('open');

};

和HTML:

<div id="dialog" title="Basic dialog">
    <p>This is an animated dialog which is useful for displaying information. The     dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>

<button id="opener">Open Dialog</button>

4 个答案:

答案 0 :(得分:2)

这似乎对我有用:http://jsfiddle.net/DSNt5/1/

答案 1 :(得分:1)

尝试在对话框关闭时添加destroy方法调用:

var openDialog = function(){
   $('#dialog').dialog('option',
    close: function () { $(this).dialog("destroy"); },
    'buttons',{
      "Cancel":function(){
         $('#dialog').dialog('close');
      }
  });

答案 2 :(得分:1)

请查看此jsFiddle,因为它有效

编辑:更新链接,因为它不是那个

答案 3 :(得分:0)

我认为您应该在

中使用hide代替close
$('#dialog').dialog('option', 'buttons',{
  "Cancel":function(){
     // notice the hide here
     $('#dialog').dialog('hide');
  }
});

我还没有测试过,但据我所知。 希望这有帮助