OnaBai的答案并不像DataTables那样工作,数据表将空间视为跨领域。在小提琴中,如果您输入“厨师36”,则不显示结果数据表搜索将显示产品数量为5的行,因为它在一列中有厨师,在另一列中有36。 正确的代码看起来像这样http://jsfiddle.net/Naka3/38/。
$("#category").keyup(function() {
var selecteditem = $('#category').val();
var kgrid = $("#grid").data("kendoGrid");
selecteditem = selecteditem.toUpperCase();
var selectedArray = selecteditem.split(" ");
if (selecteditem) {
//kgrid.dataSource.filter({ field: "UserName", operator: "eq", value: selecteditem });
var orfilter = { logic: "or", filters: [] };
var andfilter = { logic: "and", filters: [] };
$.each(selectedArray, function (i, v) {
if (v.trim() == "") {
}
else {
$.each(selectedArray, function (i, v1) {
if (v1.trim() == "") {
}
else {
orfilter.filters.push({ field: "ProductName", operator: "contains", value:v1 },
{ field: "QuantityPerUnit", operator: "contains", value:v1});
andfilter.filters.push(orfilter);
orfilter = { logic: "or", filters: [] };
}
});
}
});
kgrid.dataSource.filter(andfilter);
}
else {
kgrid.dataSource.filter({});
}
});
我尝试使用逻辑运算符但它不工作... $( “#电网”)的数据( “kendoGrid”)dataSource.filter({ 逻辑: “或”, 过滤器: [ {field:“ProductName”,operator:“ne”,value:“fee”}, {field:“ProductName”,operator:“ne”,value:“fi”} ] }); – BlueBird