Comment fermer la boîte de dialogue jQuery dans la boîte de dialogue sans utiliser le bouton de fermeture?
Dans la boîte de dialogue ui se trouve une simple demande de formulaire et si une soumission réussie se produit, elle se ferme automatiquement et actualise la page parent.
<script type="text/javascript">
$(document).ready(function () {
$("#form-dialog").dialog({
autoOpen: true,
modal: true,
width: 200,
draggable: true,
resizable: true
});
});
</script>
<div id="form-dialog" title="Form Submit">
<form action="default.aspx" method="post">
<input type="text" name="name" value=" " />
<input type="submit" value="submit" />
<a href="#" id="btnDone">CLOSE</a>
<script type="text/javascript">
$(document).ready(function () {
$("#btnDone").click(function () {
$(this).dialog('close');
});
});
</script>
</form>
</div>
-imperialx
Essaye ça
$(this).closest('.ui-dialog-content').dialog('close');
Cela fermera la boîte de dialogue à l'intérieur.
vous pouvez le fermer par programme en appelant
$('#form-dialog').dialog('close')
quand tu veux.
Vous avez besoin
$('selector').dialog('close');
Fermer depuis iframe dans une boîte de dialogue:
window.parent.$('.ui-dialog-content:visible').dialog('close');
$(this).parents(".ui-dialog-content").dialog('close')
Simple, j'aime m'assurer de ne pas:
Après avoir vérifié toutes les réponses ci-dessus sans succès, le code suivant m'a permis de résoudre le problème:
$(".ui-dialog").dialog("close");
Peut-être que ce sera aussi un bon essai si vous cherchez des alternatives.
remplacer une chaîne à
$("#form-dialog").dialog('close');
$ (ceci) signifie ici un autre objet $ ("# btnDone")
<script type="text/javascript">
$(document).ready(function () {
$("#form-dialog").dialog({
autoOpen: true,
modal: true,
width: 200,
draggable: true,
resizable: true
});
});
</script>
<div id="form-dialog" title="Form Submit">
<form action="default.aspx" method="post">
<input type="text" name="name" value=" " />
<input type="submit" value="submit" />
<a href="#" id="btnDone">CLOSE</a>
<script type="text/javascript">
$(document).ready(function () {
$("#btnDone").click(function () {
//I've replaced next string
// $(this) here means another object $("#btnDone")
$("#form-dialog").dialog('close');
});
});
</script>
</form>
</div>
$(document).ready(function () {
$("#form-dialog").dialog({
autoOpen: true,
modal: true,
width: 200,
draggable: true,
resizable: true,
buttons: {
"Close": function () {
$("#idDialog").dialog("close");
}
}
});
});
Cela vous fera un bouton pour fermer. vous pouvez aussi appeler la fonction close
$("#idDialog").dialog("close");
dans certaines fonctions pour faire cela. ou même dans un bouton/a
< a href="javascript:void(0);" id="btnDone"
onClick="$("#idDialog").dialog("close");">CLOSE</a>
EDIT: Vous en avez besoin pour inclure votre dialogue dans la forme:
open: function (type, data) {
$(this).parent().appendTo($("form:first"));
}
Ajout de ce lien à l'air libre
$(this).parent().appendTo($("form:first"));
marche parfaitement.
meilleure façon est "détruire et supprimer" au lieu de "fermer" il supprimera le "html" de la boîte de dialogue du DOM
$(this).closest('.ui-dialog-content').dialog('destroy').remove();