Fermez toutes les boîtes de dialogue ouvrir? (JQuery)

Comment puis-je fermer ouvert toutes les dialog boîtes en jQuery?
La situation est la suivante: j'ai une page simple sans les dialogues. Elle a quelques boutons que de l'ouvrir propriétaire de boîtes de dialogue.

Lorsque je clique sur un bouton j'ai besoin de fermer toutes les boîtes de dialogue ouvertes.

Voici le code 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>

Et voici le 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();
    });
});

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

J'ai été tenté de lire $('.dialogbox').dialog('isOpen'), mais même résultat.

Comment puis-je fermer toutes les boîtes de dialogue?

  • Vous devez d'abord initialiser vos boîtes de dialogue avant de cette fonction jamais obtenir ce qu'on appelle $().ready(function() {$('.boite').dialog({})})
InformationsquelleAutor netdjw | 2012-11-27