我有一个模态对话框,通过AJAX调用加载它的主体。在加载的正文中,我有HTML标记使用jqGrid
。
$.get('@Url.Action("ListPartial")',null, function(data, txtStatus, jqXHR) {
customModal('Modal header', data);
createListGrig("");
});
customModal
方法
function customModal(title, body) {
var modal = $('#modalDialog');
modal.find('h6.modal-title').html(title);
modal.find('#modalBody').html(body);
modal.modal();
}
并且createListGrig
方法在加载的html上应用jqGrid
。
问题是,当我的模态出现时,网格的宽度为0。但是,当我将setTimeout添加1秒时,它会按预期显示。
setTimeout(function (){createListGrig("")}, 1000);
请帮我弄清楚申请jqGrid
答案 0 :(得分:0)
正如@ A.Wolff在评论中提到的那样,正确的时刻是调用模态的shown
方法。
我更新了这样的代码,使其正常工作:
$.get('@Url.Action("ListPartial")',null, function(data, txtStatus, jqXHR) {
customModal('Copy Address from Partner', data, function() {
createListGrig("");
});
});
customModal
方法
function customModal(title, body, callBack) {
var modal = $('#modalDialog');
modal.find('h6.modal-title').html(title);
modal.find('#modalBody').html(body);
modal.on('shown.bs.modal', function (e) {
if (callBack) callBack();
});
modal.modal();
}