閉じるボタンを使用せずにダイアログ内で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");
代替手段を探しているなら、これも良い試みになるでしょう。
1つの文字列を
$("#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>
編集:ダイアログをフォームに含めるにはこれが必要です:
open: function (type, data) {
$(this).parent().appendTo($("form:first"));
}
オープンでこのリンクを追加する
$(this).parent().appendTo($("form:first"));
完全に動作します。
より良い方法は、「閉じる」の代わりに「破棄して削除する」ことです。DOMからダイアログの「html」を削除します
$(this).closest('.ui-dialog-content').dialog('destroy').remove();