2012-03-27 50 views
1

我使用如何根據jqgrid中的索引獲取選定的行ID?

getGridParam('selarrrow'); 

獲得所選擇的行,該方法根據自己的選擇返回我選擇的行ID,但是我根據自己的index.Do我要寫想要的ID一種排序ID的方法或者是否有一種內置方法,可以按照其索引的順序將選定的行ID返回給我。

在此先感謝

回答

1

如果你指的是排在網格中的索引,那麼你必須求助於由$("#gridId").jqGrid("getGridParam", "selarrrow")返回的數組或ID。您可以使用sort()方法Array與您的自定義排序功能。你可以使用這個事實,即ID是<tr>元素的ID。因此,<tr>的DOM元素具有本地實現的rowIndex屬性,您可以通過$("#"+rowid)[0].rowIndex獲取該屬性。

在簡化形式的代碼可能是有關以下

var selRowIds = $("#gridId").jqGrid("getGridParam", "selarrrow"); 

selRowIds.sort(function (id1, id2) { 
    // one can use document.getElementById alternatively 
    return $("#" + id1)[0].rowIndex - $("#" + id2)[0].rowIndex; 
}); 

,或者您可以使用namedItem方法,而不是

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; 
}); 

也許你應該包括代碼的驗證,以確保該具有ID的項目將被找到並且它具有rowIndex屬性。

+0

:謝謝,它的工作。我用getInd(rowId)獲取行的索引。 – pavi 2012-03-27 12:05:03

+0

@pavi:不客氣! [getInd](https://github.com/tonytomov/jqGrid/blob/v4.3.1/js/grid.base.js#L3322-3331)在內部也是如此。所以你可以使用更適合你的API。 – Oleg 2012-03-27 12:13:33

相關問題