2012-02-06 73 views
5

找到iRow(行的指数)我在jqGrid的一个表行。我操纵cellEdit的行为,现在用它进行编辑。在我启动电网后,我会使用;的jqGrid - 如何从ROWID(表PRI键)

$('#grid').editCell(iRow,1,false); 

只选择单元格。

,但我只有rowIdiRow。如何从rowId获得iRow

回答

6

您可以使用表示行<tr>的DOM对象的rowIndex属性获得的行的索引(iRow)。所以你只需要获得该行的DOM。如果rowId不包含任何meta-characters你可以做以下

var iRow = $('#' + rowId)[0].rowIndex; 

对于您可以使用jqID功能,如果需要其逃逸的元字符更常见的情况:

var iRow = $('#' + $.jgrid.jqID(rowId))[0].rowIndex; 
+0

非常感谢你很多...它的工作。此外,如果我们有超过1个网格在页面我们可以使用 变种iRow = $( '#gridId#' + ROWID)[0] .rowIndex; – 2012-02-06 17:04:54

+0

@OnurErenElibol:不客气!任何元素的id在页面上都是唯一的,所以你可以使用独立于网格数目的$('#'+ rowId)[0] .rowIndex'。 '$('#gridId#'+ rowId)[0] .rowIndex'也可以工作并且得到相同的结果,但是它可以*缓慢地工作。 **页面上的所有元素**都有唯一的ID很重要。所以你不能在页面上为不同的网格使用相同的rowid。如果你有冲突,你可以使用网格的'idPrefix'选项。 – Oleg 2012-02-06 17:35:15

+0

当我有2个网格绑定2个不同的表,我可能有2个相同的ID为不同的网格。在HTML中这是不可接受的(感谢你的这个好点)。我想我会使用** idPrefix **。 – 2012-02-08 11:59:24