在动态加载的html上使用jqgrid

时间:2016-01-05 13:33:35

标签: javascript jquery ajax twitter-bootstrap jqgrid

我有一个模态对话框,通过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

的具体时刻

1 个答案:

答案 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();
}