Close all open dialog boxes? (JQuery)
javascript, jquery, jquery-ui, jquery-ui-dialog
Solution
Since they all inherit the same class, this is the best way to select all and close by:
`$(".ui-dialog-content").dialog("close");`
Problem
How can I close all opened `dialog` boxes in `jQuery`? The situation is next: I have a simple page without dialogs. It has some buttons what open it owns dialogs. When I click on a button I need to close all opened dialogs. Here is the HTML: ``` <div id="buttons"> <a href="#" id="btn_1">Button 1</a> <a href="#" id="btn_2">Button 2</a> <a href="#" id="btn_3">Button 3</a> </div> <div id="dialog_1" class="dialogbox">...</div> <div id="dialog_2" class="dialogbox">...</div> <div id="dialog_3" class="dialogbox">...</div> ``` And here is the 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(); }); }); ``` The Chrome say: `Uncaught Error: cannot call methods on dialog prior initialization; attempted to call method 'close'`. I was tried to check `$('.dialogbox').dialog('isOpen')`, but same result. How can I close all dialogs?