0
我有需要呈現頁面上發生事件時的jQuery UI對話框。jQuery UI對話框模式選項不工作setTimeout
該對話框具有以下設置。
var opt = {
autoOpen: false,
modal: true,
width: 1000,
height: 650,
title: 'Title Here'
};
當按下按鈕時,運行以下代碼。 (連同其他500行)
$("#dlgInfo").dialog(opt).dialog("open");
到目前爲止在Chrome和Firefox中都很出色。除IE之外根本不呈現對話框。 研究表明,IE正在有點急於渲染盒子並失敗。 解決方案是將打開的代碼包裝在setTimeout函數中。
setTimeout(function() {
$("#dlgInfo").dialog(opt).dialog("open");
}, 500);
成功,對話框現在在所有瀏覽器中打開,但由於某種原因,我在Chrome中丟失了Model屬性。我不知道爲什麼..
編輯...
我開始覺得一個JSON調用是搞亂這件事。它看起來像Modal選項正在設置,但是當一個JSON對象呈現給頁面時,它會導致模式方面消失。
以下是JSON代碼的示例。
$('#clientResults').empty();
$.ajax({
type: "GET",
url: "http://" + window.location.hostname + window.location.pathname + "handlers/clients.ashx?" + $("#searchfield").val(),
async: true,
dataType: "json",
success: function (data) {
$('#clientResults').append('<a id="Clients"><h1>Clients (' + data.Clients.length + ') - Click client name to view client matters.</h1></a>');
if (data.Clients.length > 0) {
$('#clientResults').append('<table id="clientTable" class="Results clients"><thead><tr><th>Group Entity</th><th>Client Name</th><th>Client Code</th><th>Status</th><th>Type</th><th>Office</th><th>Active</th><th>Responsible Billing Partner</th><th>Open Date</th><th>Close Date</th></tr></thead><tbody></tbody></table>');
for (var i = data.Clients.length; i--;) {
$('#clientTable > tbody:last').append('<tr id = "' + data.Clients[i].Group + $.trim(data.Clients[i].ClientCode) + '" onclick="addDetails(this.rowIndex);"><td>' + data.Clients[i].Group + '</td><td>' + data.Clients[i].ClientName + '</td><td>' + data.Clients[i].ClientCode + '</td><td>' + data.Clients[i].Status + '</td><td>' + data.Clients[i].entity_type + '</td><td>' + data.Clients[i].Office + '</td><td>' + data.Clients[i].Active + '</td><td>' + data.Clients[i].RespBillEmpl + '</td><td>' + data.Clients[i].OpenDate + '</td><td>' + data.Clients[i].CloseDate + '</td></tr>');
}
$("#clientTable").tablesorter();
}
},
failure: function() {
$('#clientResults').empty();
$('#clientResults').append('<a id="Clients"><h1>Clients</h1></a>');
$('#clientResults').append('An error has occoured getting the client data. Please contact Service Desk on ext 5555. Thanks');
}
});
#ClientResults
是一個空的div標記。
有趣...我說,因爲選擇工作的所有其他屬性。我會放棄它。 – smitchelluk
我發現你的症狀很怪異。這有什麼好運? – MonkeyZeus
仍然沒有相同的問題.... – smitchelluk