我正在将客户端搜索应用到没有搜索对话框的jqGrid,但我需要使用自定义搜索功能或更多聪明的搜索运营商,其中之一将基本上做$.inArray([searchString],[searchField])
。jqGrid客户端搜索'数组'搜索运算符或自定义搜索功能
我的网格有datatype: 'json'
和loadonce: 'true'
,并且不使用multisearch
。我想搜索的相关列有colModel: [ {name: 'ancestorIds', hidden: true } ]
,它将包含一个像[1,2,26,42]
这样的ID数组。 基于this answer,我初始化从click事件电网外单场搜索,这样的事情:
var selectedId = $('#selectedId').val();
var $grid = $('#grid');
var postdata = $grid.jqGrid('getGridParam','postData');
$.extend(postdata, {
filters: '',
searchField: 'ancestorIds',
searchOper: 'cn',
searchString: selectedId
});
$grid.jqGrid('setGridParam', { search: true, postData: postdata });
$grid.trigger("reloadGrid", [{page: 1}]);
这工作正常,但如果selectedId
是2,使用searchOper: 'cn'
会错误地返回行,其中包括26或42.我的问题是,如何修改搜索只返回其中selectedId是数组的实际值的行?
EDIT:
具有以下值给定的几个示例行为ancestorIds
,和2的selectedId
值... [1,2,26,42]
[2]
[2,42]
[42]
[22]
..上面的代码是选择每一行,但我只希望它r改编前三行。