我有一个kendo网格,还有一个html下拉菜单。当我将下拉列表配置为单选时,我能够使用下拉列表中所选项目的字符串值成功过滤剑道网格。
以下是当下拉列表是单个选择时有效的过滤代码:
$("#LocationListDropDown").on("change", function(e) {
var ds = $("#grid").data("kendoGrid").dataSource;
var dropdownVal = $(this).val();
ds.filter([
{"logic":"and",
"filters":[
{
"field":"Freight",
"operator":"eq",
"value": dropdownVal}
]}
});
但是,一旦我将该下拉菜单更改为多选,则过滤器仅按第一个选择进行过滤。当多选择具有多个选择时,该值是字符串格式的数组。如何使用下拉列表中的多个选项过滤网格?
答案 0 :(得分:0)
以下是使用多选:
应用过滤器的代码 $("#LocationListDropDown").on("change", function(e) {
var ds = $("#grid").data("kendoGrid").dataSource;
var dropdownVal = $(this)..value();
ds.filter([
{"logic":"or", //applying "or" will get result for all multi-select values
"filters":$.map(dropdownVal, function (valueLst) {
return {
field: "Freight",
operator: "eq",
value: parseInt(valueLst)
};
})
}
])
});
上面的代码将为多选选择值数组中的所有值创建过滤器列表。
请告诉我您的要求是否与上述解决方案不同。