我有以下代码创建一个具有2个按钮Delete和Cancel的对话框。问题是tab.remove()是在调用deleteDashboard函数时执行的,但是应该在对话框中单击Delete Button后执行box。在jquery 1.4中工作正常。现在我将其更新为jquery 1.9.1,它显示了不同的行为。我的jquery.ui版本是1.8。
var deleteDashboard = function(id, dash)
{
var totalTabs = dash.find('ul.ui-tabs-nav:first
li.tab').length;
jQuery(opts.deleteDialog).dialog({
bgiframe: true,
resizable: false,
height: 180,
modal: true,
overlay: {
backgroundColor: '#000',
opacity: 0.5
},
buttons: {
Delete: function() {
var dlg = jQuery(this);
dlg.dialog('destroy');
jQuery.ajax({
url: opts.url + "/Deletesomething",
data: "{ Id: " + id + " }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function(data) {
var tab = jQuery("li#id" + id);
var newTabId = data.d;
tab.remove();
}
});
},
Cancel: function() {
jQuery(this).dialog('destroy');
}
}
});
};