JQuery UI Dialog открывается только один раз - PullRequest
0 голосов
/ 12 июля 2011

Я нашел ответ на этот вопрос на 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 ]

2 голосов
/ 12 июля 2011

Кажется, у меня работает: http://jsfiddle.net/DSNt5/1/

1 голос
/ 12 июля 2011

Посмотрите на это jsFiddle , как оно работает

правки: обновлена ​​ссылка, поскольку она не была единственной

1 голос
/ 12 июля 2011

Попробуйте добавить вызов метода destroy при закрытии диалога:

var openDialog = function(){
   $('#dialog').dialog('option',
    close: function () { $(this).dialog("destroy"); },
    'buttons',{
      "Cancel":function(){
         $('#dialog').dialog('close');
      }
  });
0 голосов
/ 12 июля 2011

Я думаю, вы должны использовать hide вместо close в

$('#dialog').dialog('option', 'buttons',{
  "Cancel":function(){
     // notice the hide here
     $('#dialog').dialog('hide');
  }
});

Я не проверял, но, насколько я помню, это.надеюсь, это поможет

...