如何根据jqgrid中的索引对选定的行id进行排序?

时间:2012-03-27 10:39:34

标签: jqgrid

我正在使用

getGridParam('selarrrow'); 

获取所选的行,其中该方法根据其选择返回所选行id,但我希望id根据其索引。我必须编写一个方法来对id进行排序或者是否有内置方法,按索引顺序返回选定的行ID。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您指的是网格中行的索引,则必须使用$("#gridId").jqGrid("getGridParam", "selarrrow")返回的数组或ID。您可以使用Array <tr>方法和自定义排序功能。您可以使用id是<tr>元素的ID的事实。因此$("#"+rowid)[0].rowIndex的DOM元素具有原生实现的sort()属性,您可以通过var selRowIds = $("#gridId").jqGrid("getGridParam", "selarrrow"); selRowIds.sort(function (id1, id2) { // one can use document.getElementById alternatively return $("#" + id1)[0].rowIndex - $("#" + id2)[0].rowIndex; }); 获取该属性。

在简化形式中,代码可以是以下

var $grid = $("#gridId"),
    selRowIds = $grid.jqGrid("getGridParam", "selarrrow"),
    rows = $grid[0].rows;

selRowIds.sort(function (id1, id2) {
    return rows.namedItem(id1).rowIndex - rows.namedItem(id2).rowIndex;
});

或者您可以使用rowIndex方法

rowIndex

您可能应该在代码中包含更多验证,以确保找到包含id的项目并且它具有{{1}}属性。