jqGrid呈现正常,但无法访问getGridParam

时间:2014-09-29 20:16:26

标签: jquery ajax jqgrid

jqGrid呈现正常,但我无法访问getGridParam,它会抛出

  

Object不支持属性或方法'jqGrid'

 function updateGrid(inmateID) {

        $(".loading").show();

        var grid = $("#jqGridDiv")[0];

        $.ajax({
            url: "<%= AdminPath %>WebMethods/WebService1.asmx/GetUsersJSON",
            data: '{ webMethodParam: \"' + inmateID + '\" }',
            dataType: "text",
            type: "POST",
            contentType: "application/json; charset=utf-8",

            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
                $(".loading").hide();
            },

            success: function (data) {

                //debugger; 
                var tmp1 = $.parseJSON(data);
                var ncicList = $.parseJSON(tmp1.d);

                grid.addJSONData(ncicList); //works

                var data = grid.jqGrid('getGridParam', 'data'); //Object doesn't support property or method 'jqGrid'

                $(".loading").hide();

            } //end ajax success
        });  //end ajax
    }

1 个答案:

答案 0 :(得分:1)

您的第一个错误存在是因为您尝试使用var data = grid.jqGrid('getGridParam', 'data'); grid<table>元素的DOM而不是jQuery包装器(请参阅var grid = $("#jqGridDiv")[0];)。您需要使用var data = $(grid).jqGrid('getGridParam', 'data');

即使您使用ar data = $(grid).jqGrid('getGridParam', 'data'),也可以获得空数组[]。重要的您使用的其他jqGrid选项。您使用的旧版addJSONData API无法填充本地数据,因此无法填写jqGrid的data_index参数。了解您在网格中使用的datatype以及是否使用loadonce: true(如果使用datatype: "json"),这一点非常重要。