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

Jac*_*ith 1 jquery jqgrid

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

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

不知道如何使用jQuery为我的jqGrid实现这一点.

更新:

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

Ole*_*leg 5

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

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

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

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();
Run Code Online (Sandbox Code Playgroud)

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

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