如何搜索一行,然后在jqGrid中选择它?

我有一个场景,我必须以编程方式在jqGrid中选择一行。

从函数我将得到一个列的值,该列在jqGrid中可用,并且基于传入列的值,我必须在jqGrid中搜索,当它找到记录匹配时,我必须选择该行。

不知道如何使用jQuery为我的jqGrid实现这一目标。

更新:

您提到的解决方案搜索第3列(不区分大小写)。 我想知道有没有办法使用regext搜索网格中的任何列(包括隐藏的列),即不区分大小写的搜索?

问题接近我最近回答的另一个问题。 区别在于您要搜索选定的列。 对于区分大小写的搜索,您可以使用以下代码

var index = 3; var str = 'b'; $("#list > tbody > tr > td:nth-child("+index+"):contains('" + str + "')").parent(); 

对于不区分大小写的搜索,代码可能看起来像

 var index = 3; var str = 'b'; var cells = $("#list > tbody > tr > td:nth-child(3)").filter(function() { return re.test( $(this).text()); }); var rows = cells.parent(); 

重要的是要考虑到jqGrid有时在colModel声明的列之前有其他列。 这是’rn’列包含行号。 如果你使用rownumbers: true它存在rownumbers: true选项。 在你使用选项multiselect: true也有’cb’列与复选框。 您可以使用$('#list').jqGrid('hideCol', 'cb');隐藏列$('#list').jqGrid('hideCol', 'cb'); ,但你也应该在那里计算。 通常,您应该计算所有隐藏的列。

您可以在以下小型演示中看到所有内容。