Làm cách nào để đóng tất cả các hộp dialog
được mở trong jQuery
? Tình huống tiếp theo: Tôi có một trang đơn giản không có hộp thoại. Nó có một số nút mở nó sở hữu hộp thoại.Đóng tất cả các hộp thoại đang mở? (JQuery)
Khi tôi nhấp vào nút, tôi cần đóng tất cả các hộp thoại đã mở.
Dưới đây là 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>
Và đây là 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 nói: Uncaught Error: cannot call methods on dialog prior initialization; attempted to call method 'close'
.
Tôi đã cố gắng kiểm tra $('.dialogbox').dialog('isOpen')
, nhưng cùng một kết quả.
Tôi làm cách nào để đóng tất cả các hộp thoại?
Trước tiên bạn phải khởi tạo hộp thoại trước khi hàm này được gọi là $(). ready (function() {$ ('. dialogbox'). dialog ({})}) –