Como fechar a janela de jQuery dentro da janela?
Como fechar a janela do jQuery dentro da janela sem usar o botão Fechar?
dentro da janela ui existe um simples pedido de formulário e, se ocorrer um envio bem sucedido, então a janela ui fecha automaticamente e actualiza a página pai.
<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
9 answers
Tenta Isto
$(this).closest('.ui-dialog-content').dialog('close');
Vai fechar o diálogo dentro dele.
$('#form-dialog').dialog('close')
Quando quiseres.
Tu precisas
$('selector').dialog('close');
Fechar a partir do iframe dentro de uma janela:
window.parent.$('.ui-dialog-content:visible').dialog('close');
$(this).parents(".ui-dialog-content").dialog('close')
Simples, eu gosto de me certificar que não:
- Janela de código rígido # valores de id.
- fechar todas as janelas.
Depois de verificar todas estas respostas acima sem sorte, o código de following funcionou para mim para resolver o problema:
$(".ui-dialog").dialog("close");
Talvez esta também seja uma boa tentativa se procurares alternativas.
Substituir um texto para
$("#form-dialog").dialog('close');
$(isto) aqui significa outro objecto $("#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>
Adicionar esta ligação ao open
$(this).parent().appendTo($("form:first"));
Funciona perfeitamente.
$(document).ready(function () {
$("#form-dialog").dialog({
autoOpen: true,
modal: true,
width: 200,
draggable: true,
resizable: true,
buttons: {
"Close": function () {
$("#idDialog").dialog("close");
}
}
});
});
Isto vai fazer de ti um botão para fechar. você também pode chamar a função de Fecho
$("#idDialog").dialog("close");
Em alguma função para fazer isto. ou mesmo num botão / a
< a href="javascript:void(0);" id="btnDone"
onClick="$("#idDialog").dialog("close");">CLOSE</a>
Editar: precisa disto para incluir a sua janela no formulário:
open: function (type, data) {
$(this).parent().appendTo($("form:first"));
}