我正在將客戶端搜索應用到沒有搜索對話框的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改編前三行。