我有一个Jquery对话框,如下所示:
$("#dvPopup").dialog({
autoOpen: false,
width: 450,
height: 300,
buttons: [{
text: "Ok",
click: function () { $(this).dialog("close"); }
}
]
});
我有以下功能,我在点击网格中的链接时调用(表中的每一行都有一个弹出链接):
function showNotes(Id) {
var grid = $("#NotesPopup").data("tGrid");
grid.ajax.selectUrl = "/Test/GetNotes?Id=" + Id;
grid.rebind();
$("#dvPopup").dialog("open");
var width= $("#dvPopup .t-grid >table").width();
if (width > 450) {
$(".ui-widget-content").css("width", width + 30);
}
else{
$(".ui-widget-content").css("width", 450);
}
$(".ui-widget-content").css("height", 'auto');
}
我在dvPopup中有一个表,我根据表的宽度设置弹出的宽度。我的问题是我正在加载上一个表的宽度而不是当前加载的表,当我打开并关闭相同的弹出窗口两次然后它按预期工作。上述代码有什么问题吗?
答案 0 :(得分:0)
我破解了。我使用了不同的选择器而不是"#dvPopup .t-grid >table
并使用了解决我问题的对话框选项。这是解决方案:
function showNotes(Id) {
var grid = $("#NotesPopup").data("tGrid");
grid.ajax.selectUrl = "/Test/GetNotes?Id=" + Id;
grid.rebind();
$("#dvPopup").dialog("open");
var width= $(".table_1").width();
if (width > 450) {
$("#dvPopup").dialog('option', 'width', test + 30);
}
else{
$("#dvPopup").dialog('option', 'width', test + 30);
}
$("#dvNotesPopup").dialog('option', 'height', 'auto');
}