使用多选下拉列表过滤kendo网格

时间:2014-07-08 02:47:12

标签: javascript jquery html drop-down-menu kendo-ui

我有一个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}
     ]}
});

但是,一旦我将该下拉菜单更改为多选,则过滤器仅按第一个选择进行过滤。当多选择具有多个选择时,该值是字符串格式的数组。如何使用下拉列表中的多个选项过滤网格?

1 个答案:

答案 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)
                    };
                })
            }
            ])
        });

上面的代码将为多选选择值数组中的所有值创建过滤器列表。

请告诉我您的要求是否与上述解决方案不同。