I use the Toolbar Searching. Can you do a search for multiple words for a column? The delimiter is a space and the search should be done using the Like operator. As a result, the search should return all rows that have met all the words in the search string, no matter in what order they go in a field of row. For example there is a column "Product Name", I want to find all rows that have product name contains the word "lever" and contains the word "left."
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
An interesting question!
I created the demo which demonstrate how to implement multi-word searching:

The corresponding code is:
$grid.jqGrid('filterToolbar', { stringResult: true, defaultSearch: "cn", beforeSearch: function () { modifySearchingFilter.call(this, ' '); } });
where modifySearchingFilter
I defined in the way:
var modifySearchingFilter = function (separator) { var i, l, rules, rule, parts, j, group, str, filters = $.parseJSON(this.p.postData.filters); if (filters && typeof filters.rules !== 'undefined' && filters.rules.length > 0) { rules = filters.rules; for (i = 0; i 1) { if (typeof filters.groups === 'undefined') { filters.groups = []; } group = { groupOp: 'OR', groups: [], rules: [] }; filters.groups.push(group); for (j = 0, l = parts.length; j
UPDATE: Free jqGrid supports Custom filtering searching Operation, which makes very easy the implementation of such scenarios like above.