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({})})
Vous devez vous connecter pour publier un commentaire.
Puisqu'ils héritent tous de la même classe, c'est la meilleure façon de sélectionner tous et à proximité:
$(".ui-dialog-content").dialog("close");
Vous pouvez simplement essayer ce qu'ils ont tous le
.ui-dialog-content
classe, afin de choisir par qui et de les fermer, comme ceci:-