dialog
で開いているすべてのjQuery
ボックスを閉じるにはどうすればよいですか?次の状況です。ダイアログのない単純なページがあります。ダイアログを所有するために開くボタンがいくつかあります。
ボタンをクリックすると、開いているすべてのダイアログを閉じる必要があります。
HTMLは次のとおりです。
_<div id="buttons">
<a href="#" id="btn_1">Button 1</a>
<a href="#" id="btn_2">Button 2</a>
<a href="#" id="btn_3">Button 3</a>
</div>
<div id="dialog_1" class="dialogbox">...</div>
<div id="dialog_2" class="dialogbox">...</div>
<div id="dialog_3" class="dialogbox">...</div>
_
そしてここにjQueryがあります:
_$(function() {
$('#buttons').find('a').click(function() {
// close all dialogs
$('.dialogbox').dialog("close");
// find out clicked id and open dialog
var nr = this.id.split("_")[1];
$('#dialog_'+nr).dialog();
});
});
_
Chrome say:_Uncaught Error: cannot call methods on dialog prior initialization; attempted to call method 'close'
_。
$('.dialogbox').dialog('isOpen')
をチェックしようとしましたが、同じ結果になりました。
すべてのダイアログを閉じるにはどうすればよいですか?
それらはすべて同じクラスを継承するため、これはすべてを選択して近くに配置するための最良の方法です。
$(".ui-dialog-content").dialog("close");
それらはすべて.ui-dialog-content
クラスを持っているので、これを簡単に試すことができます。それで選択し、次のように閉じます。-
$(".ui-dialog-content").dialog("close");