关闭所有打开的对话框? (JQuery的)

如何在jQuery关闭所有打开的dialog ? 情况如下:我有一个没有对话框的简单页面。 它有一些打开它拥有对话框的按钮。

当我点击一个按钮时,我需要关闭所有打开的对话框。

这是HTML:

  
...
...
...

这是jQuery:

 $(function() { $('#buttons').find('a').click(function() { // close all dialogs $('.dialogbox').dialog("close"); // find out clicked id and open dialog var nr = this.id.split("_")[1]; $('#dialog_'+nr).dialog(); }); }); 

Chrome说: Uncaught Error: cannot call methods on dialog prior initialization; attempted to call method 'close' Uncaught Error: cannot call methods on dialog prior initialization; attempted to call method 'close'

我试图检查$('.dialogbox').dialog('isOpen') ,但结果相同。

如何关闭所有对话框?

由于它们都inheritance了同一个类,因此这是选择all和close by的最佳方法:

$(".ui-dialog-content").dialog("close");

您可以简单地尝试这个,因为它们都有.ui-dialog-content类,因此请选择并关闭它们,如下所示: –

  $(".ui-dialog-content").dialog("close");