当用户单击链接时,我正在使用 Simple Modal 创建一个模态框。在这个模态框内是一个装有 jquery ui 选项卡的 div。但是,在打开模式之前,这些选项卡中的内容已更改。在我的 jsFiddle 示例中,它没有显示该部分。
问题 通过第一次单击链接打开模态框,模态框显示和选项卡正常工作。
关闭模态并重新打开。(用户可以点击相同的链接)。
标签不起作用。
当我尝试销毁实例并在每次调用函数以打开模式时重新创建时,我得到:
Chrome 开发工具报告Uncaught TypeError: Cannot read property 'hash' of undefined 。
$(document).ready(function() {
$('#tabs').tabs();
});
function getDetails(atag) {
$('#hotelDetails').modal({
minHeight: 100,
onOpen: function (dialog) {
dialog.overlay.fadeIn('fast', function () {
dialog.container.slideDown('fast', function () {
dialog.data.fadeIn('fast');
$('#tabs').tabs();
$("#tabs").tabs("option", "active", $("#" + atag).index()-1);
});
});
},
onClose: function(dialog) {
dialog.data.fadeOut('fast', function () {
dialog.container.slideUp('fast', function () {
dialog.overlay.fadeOut('fast', function () {
$.modal.close(); // must call this!
$('#tabs').tabs("destroy");
});
});
});
},
zIndex: 3000
});
}
(参见示例http://jsfiddle.net/R44Yh/1/)
我尝试进行 REFRESH 调用,我认为需要更改内容,它不会报告任何错误,但也不会更改选项卡。
$(document).ready(function() {
$('#tabs').tabs();
});
function getDetails(atag) {
$('#hotelDetails').modal({
minHeight: 100,
onOpen: function (dialog) {
dialog.overlay.fadeIn('fast', function () {
dialog.container.slideDown('fast', function () {
dialog.data.fadeIn('fast');
$('#tabs').tabs( "refresh" );
$("#tabs").tabs("option", "active", $("#" + atag).index()-1);
});
});
},
onClose: function(dialog) {
dialog.data.fadeOut('fast', function () {
dialog.container.slideUp('fast', function () {
dialog.overlay.fadeOut('fast', function () {
$.modal.close(); // must call this!
});
});
});
},
zIndex: 3000
});
}