如何配置free-jqGrid(4.8)filterToolbar来搜索字段中的所有单词?
数据
搜索字词
jqGrid API
$("#list").jqGrid({
datatype: "local",
colNames: ["Name"],
colModel: [{
name: "name",
index: "name"
}],
caption: "Viz Test",
pager: '#pager',
search: true,
multiselect: true,
data: myData
});
jQuery("#list").jqGrid('filterToolbar', {
searchOperators: true
});
答案 0 :(得分:0)
这是基于此answer,需要free-jqgrid 4.8并参见jsfiddle上的演示
colModel: [{
name: "name",
index: "name",
searchoptions: {
sopt: ["sIn", "bw", "cn", "lt", "le", "gt", "ge", "in", "ni"]
}
}],
customSortOperations: {
// the properties of customSortOperations defines new operations
// used in postData.filters.rules items as op peroperty
sIn: {
operand: "sIn", // will be displayed in searching Toolbar
text: "String In", // will be shown in Searching Dialog
// or operation menu in searching toolbar
filter: function (options) {
// called for filtering on the custom operation "sIn"
// It has the following properties:
// item - the item of data (exacly like in mydata array)
// cmName - the name of the field by which need be filtered
// searchValue - values in the input field of searching toolbar
var fieldData = options.item[options.cmName];
var words = options.searchValue.split(" ");
//loop thru each word in words array
$.each(words, function () {
//search for word in fielddata
var searchResults = fieldData.search(this)
//if not fouond
if (searchResults < 0) {
fieldData = "";
}
});
return fieldData;
}
}