代码之家  ›  专栏  ›  技术社区  ›  Developer Webs

在启动框关闭时重新加载jQgrid

  •  0
  • Developer Webs  · 技术社区  · 6 年前

    我有jQGrid v4.6.0(我可以用 Free jqGrid )在我的页面上,我可以使用:

    $('#jqGrid').trigger('reloadGrid');
    

    它通过发布到服务器来加载数据。它正确地发布,正确地获取返回的数据,并在网格中显示正确的数据。

    在同一页上,我有一个链接,打开一个引导对话框。从Bootbox回调调用reloadGrid似乎会使$('35; jqGrid')。jqGrid“不是函数”

    bootBoxWindow = bootbox.dialog({
        title: "title",
        message: "foo",
        size: "large",
        closeButton: false,
    
        buttons: {
            ok: {
                label: "Save 2",
                className: "btn-success",
                callback: function () {
                    $('#jqGrid').trigger('reloadGrid');
    
                }
            }
        }
    });
    

    例子:

    jQuery("#jqGrid").jqGrid('showCol', 3);
    

    ... 在loadComplete中调用此函数将产生错误:TypeError:jQuery(“#jqGrid”)。jqGrid不是函数”

    没有Bootbox,我无法复制这个问题。如果加载网格,请使用以下命令:

    setTimeout(function () {
        $('#jqGrid').trigger('reloadGrid', [{ current: true }]);
    }, 10000);
    

    ... 没有错误。

    0 回复  |  直到 5 年前
        1
  •  0
  •   Tony Tomov    6 年前

    首先我认为模态函数在jqGrid范围之外。 例子:

    (function($) { 
        $(function() {
            ....
            var $grid = $("#grid").jqGrid({...});
            .....
            console.log($grid);
        });
    })(jQuery);
    
    console.log($grid);
    

    第一次控制台.log将输出网格对象,第二个将抛出错误。

    this article