Comment supprimer tous jQuery dialogue de l'INTERFACE utilisateur quand il est fermé

Sur ma page principale, j'ai une sorte de panneau latéral qui peut être ouvert et fermé. Le panneau latéral est chargé via jQuery la fonction de charge dans un div sur la page principale.

Partie du contenu qui est chargé dans ce panneau latéral est un div(myDialog)

Quand on clique sur un bouton dans ce panneau latéral j'appelle:

$("#myDialog").dialog({
  title : "Permission",
  width : 300,
  height : 200,
  modal : true
});

Maintenant, si je ferme le panneau latéral et effacer son contenu avec jQuery fonction vide. Puis-je sélectionner tous et "afficher la source" le code html jQuery ajoutée au bas du corps est toujours là. Cela provoque des problèmes quand j'ai rouvrir le panneau de côté et essayez d'ouvrir la même boîte de dialogue, car il y en a deux que div(avec Id en double).

J'ai essayé d'ajouter cela, mais il ne fonctionne pas:

close : function(){
    $("#myDialog").dialog("destroy");
}

Comment puis-je clair que html jQuery ajoute à la partie inférieure du corps? Ou est-il une meilleure façon de faire ce que je suis en train de faire?

Vous ne devriez pas avoir plusieurs éléments avec le même ID. Fixation qui pourrait résoudre le problème ici.
Je ne fais pas de la seconde, jQuery. Apparemment quand je l'appelle $("#myDialog").dialog ({...}), il fait une copie de #myDialog et l'ajoute à la fin du corps.
jQueryUI ne pas en faire une copie, il en fait des coups de div à l'extrémité du corps, ainsi il n'y a toujours qu'un seul d'entre eux. jsfiddle.net/dchSr
Bien que explique beaucoup de choses. Donc la solution serait d'appeler $("#myDialog").remove() lorsque le panneau latéral se ferme pas lorsque la boîte de dialogue se ferme. Suis-je la corriger? Est-il possible de faire de jQuery pour mettre sa nouvelle version dans le panneau latéral de sorte que je n'ai pas à le supprimer manuellement?
Oui, cela me semble qu'il serait de travailler. Parce que si vous fermez le panneau latéral sans jamais ouvrir la boîte de dialogue, il serait encore là. jQuery déplace le div, il n'est donc pas dans son contenant d'origine, de sorte empty() ne serait pas le supprimer. Pour être sûr je dirais $('#myDialog').dialog('destroy').remove(), assurez-vous que les événements sont supprimés.

OriginalL'auteur Mike | 2011-12-08