检索所有ID

时间:2012-09-11 10:59:19

标签: jquery jqgrid

如何在jqGrid中使用loadonce:truedatatype:json获取所有网页上的所有ID?

2 个答案:

答案 0 :(得分:2)

您可以使用data选项直接检索网格数据:

 myGrid.jqGrid('getGridParam', 'data');

然后你需要迭代data来检索你的每个ID。

答案 1 :(得分:2)

您需要获取jqGrid的_index参数。它的对象有id作为属性。如果您需要一组id(例如getDataIDs方法),您可以执行以下操作

var id, ids = [], indexes = $("#grid").jqGrid("getGridParam", "_index");
for (id in indexes) {
    if (indexes.hasOwnProperty(id)) {
        ids.push(id);
    }
}

代码使用本地网格的ID填充ids数组。

顺便说一句,_index对象的值(如上面for循环中的indexes[id])包含$("#grid").jqGrid("getGridParam", "data")数组中相应数据对象的索引。

例如,如果您使用

等数据填充网格
var myData = [
        {id: "x", name: "abc", age: "12"},
        {id: "y", name: "def", age: "34"}
    ];
$("#grid").jqGrid({
    data: myData,
    datatype: "local",
    colModel: [{name: "name"}, {name: "age"}]
});

然后$("#grid").jqGrid("getGridParam", "_index")将成为对象

{
    x: 0, // index of the data for the item having id="x"
    y: 1  // index of the data for the item having id="y"
}

$("#grid").jqGrid("getGridParam", "data")将是数组

[
    {name: "abc", age: "12"}
    {name: "def", age: "34"}
]