以下に示すような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 内にテーブルがあり、テーブルの幅に応じてポップアップの幅を設定しています。私の問題は、ロードされた現在のテーブルではなく、以前のテーブルの幅を取得していることです。同じポップアップを2回開いて閉じると、期待どおりに機能します。上記のコードに問題はありますか?