Jquery Dialogue - div disparaît après l'initialisation
JQuery Dialogue est me donner beaucoup de douleurs ces derniers temps.
J'ai le texte suivant div qui je veux être sauté. (Ignorer que les classes ne montrent pas de guillemets dans la syntaxe)
TABLE class=widget-title-table border=0 cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD class=widget-title><SPAN class=widget-title>Basic Info</SPAN></TD>
<TD class=widget-action>
<DIV id=edit-actions jQuery1266325647362="3">
<UL class="linkbutton-menu read-mode">
<LI class="control-actions">
<A id="action-button" class="mouse-over-pointer linkbutton">Delete this stakeholder</A>
<DIV id="confirmation" class="confirmation-dialog title=Confirmation">
Are you sure you want to delete this stakeholder?
</DIV>
</LI></UL></DIV></TD></TR></TBODY></TABLE>
Le JQuery pour ce qui est ...
$(document).ready(function() {
$('#confirmation').dialog({
bgiframe: true, modal: true, autoOpen: false, closeOnEscape: false,
draggable: true, position: 'center', resizable: false, width: 400, height: 150
});
});
Et de la boîte de dialogue " ouvrir ed par
var confirmationBox = $('#confirmation',actionContent);
if (confirmationBox.length > 0) {
//Confirmation Needed
$(confirmationBox).dialog('option', 'buttons', {
'No': function() {
$(this).dialog('close');
},
'Yes': function() {
$('ul.read-mode').hide();
$.post(requestUrl, {}, ActionCallback(context[0], renderFormUrl), 'json');
$(this).dialog('close');
}
});
$(confirmationBox).dialog('open');
}
Commence le problème dans l'initialisation de lui-même.
Lorsque le document est chargé, le <div #confirmation>
est supprimé à partir du balisage!
J'ai eu un problème similaire plus tôt, mais je ne peux pas utiliser la solution ici.
Sur cette page, je peux avoir plusieurs PopUp divs.
Quand j'ai ajouté l'initialisation dans la juste avant l'ouverture; la forme surgit. Mais après je le ferme, le div est supprimé; je ne suis donc pas en mesure de voir la fenêtre contextuelle.
Pas d'erreurs qui s'affichent sur la console
Pourquoi ne pas simplement utiliser jquery ui
Je suis à l'aide de JQuery UI; au moins c'est ce que je pense. .la boîte de dialogue() est dans le JqueryUI cadre.
OriginalL'auteur Zuber | 2010-02-16
Vous devez vous connecter pour publier un commentaire.
La raison pour laquelle vous êtes le voir supprimer #de confirmation est parce que
$("#foo").dialog()
déplacera #foo à partir de là où il est dans le DOM au bas du document à l'intérieur de wrapper éléments qui créent la boîte de dialogue style qui sont d'abord caché. Il est entendu que les dialogues sont cachés jusqu'à l'ouverture.OriginalL'auteur Sam Hasler
D'accord. Je pense que j'ai réussi avec l'aide de vous les gars.
Certains "auto-défini" les faits au sujet de dialogue est que maintenant je sais (Merci de corriger si je me trompe):
Lorsqu'un
<div>
est initialisé comme un dialogue, il est supprimé de son emplacement d'origine et a déménagé à la<body>
élément dans un<div class="ui-dialog">
. Donc, il "naturellement" disparaît.Pour sélectionner la boîte de dialogue, vous avez maintenant besoin d'un identifiant unique. Il peut être le id dans la plupart des cas, ou d'autres attributs, sur la div qui la rend unique sur la page.
La boîte de dialogue d'annotation est créée chaque fois que le dialogue est initialisé. Ainsi, dans le cas des appels AJAX si un dialogue est entamé, vous obtiendrez la fenêtre contextuelle plus d'une fois (autant de fois qu'il a été réinitialisé). Pour résoudre ce problème, j'ai supprimé le dialogue des annotations avant reintializing. J'ai eu à faire cela parce que mon AJAX réponse peut avoir certains dialogues qui ont besoin d'être initié.
}
OriginalL'auteur Zuber
dans mon cas, un simple "return false;" dans la fonction de clic a fait le tour:
OriginalL'auteur user88243
Êtes-vous sûr qu'un et un seul div a id "confirmation"? Id en double ne sont pas autorisés.
OriginalL'auteur kgiannakakis
Approuvé réponse a fonctionné pour moi aussi. J'ai été en utilisant:
et il n'était pas là après avoir cliqué sur le premier temps.
Maintenant, je suis l'aide de l'ID directement:
et évidemment, n'importe où dialogue déplace sur la page, ce qui permettra de le trouver.
OriginalL'auteur sigmapi13