Ответ 1
Попробуйте это
$(this).closest('.ui-dialog-content').dialog('close');
Он закроет диалог внутри него.
Как закрыть диалоговое окно jQuery в диалоговом окне, не используя кнопку закрытия?
Внутри диалогового окна ui есть простой запрос формы, и если происходит успешное отправление, диалог ui автоматически закрывает и обновляет родительскую страницу.
<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
Попробуйте это
$(this).closest('.ui-dialog-content').dialog('close');
Он закроет диалог внутри него.
вы можете закрыть его программным путем, вызывая
$('#form-dialog').dialog('close')
когда захотите.
Вам нужно
$('selector').dialog('close');
Закрыть из iframe внутри диалогового окна:
window.parent.$('.ui-dialog-content:visible').dialog('close');
$(this).parents(".ui-dialog-content").dialog('close')
Простой, я хочу убедиться, что я этого не делаю:
После проверки всех этих ответов выше, без везения, код для работы с файлами работал у меня, чтобы решить проблему:
$(".ui-dialog").dialog("close");
Возможно, это будет хорошей попыткой, если вы будете искать альтернативы.
замените одну строку на
$("#form-dialog").dialog('close');
$(this) здесь означает другой объект $( "# 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");
}
}
});
});
Это заставит вас закрыть кнопку. вы также можете вызвать функцию close
$("#idDialog").dialog("close");
в некоторой функции для этого. или даже с помощью кнопки /a
< a href="javascript:void(0);" id="btnDone"
onClick="$("#idDialog").dialog("close");">CLOSE</a>
EDIT: вам нужно это, чтобы включить ваш диалог в форму:
open: function (type, data) {
$(this).parent().appendTo($("form:first"));
}
Добавление этой ссылки в открытый
$(this).parent().appendTo($("form:first"));
отлично работает.
лучше "уничтожить и удалить" вместо "закрыть" это удалит диалог "html" из DOM
$(this).closest('.ui-dialog-content').dialog('destroy').remove();
Использование $(this).dialog('close');
работает только внутри функции нажатия кнопки в модальном режиме. Если ваша кнопка находится за пределами диалогового окна, как в этом примере, укажите селектор:
$('#form-dialog').dialog('close');
Для получения дополнительной информации см. документацию .