首页 > 代码库 > kendo AutoComplete实现多筛选条件

kendo AutoComplete实现多筛选条件

kendo autoComplete 原始情况下是不支持多筛选条件的

$("#autocomplete").kendoAutoComplete({
  filter: "contains"
});
依据autocomplete 提供的api能够知道使用filter有三种。各自是startswithendswith , contains。可是作为中文使用用户。我们该怎么办呢。非常多时候,我们希望搜索出来的东西能够通过汉字或者拼音过滤,可是原始的autocomplete是无法帮助我们实现这以功能的。

接下来我们改造下。基于autocomplete做一个多过滤条件的autocomplete

详细代码例如以下:

kendo.ui.plugin(kendo.ui.ComboBox.extend({
    options: {
        name: "MultiFilterComboBox"
    },
    _filterSource: function () {
        this.dataSource.filter({
            logic: "or",
            filters: [
                { field: "code", operator: "contains", value: this.text() },
                { field: "name", operator: "contains", value: this.text() }
            ]
        });
    }
}));

用法:

$("#Nation").kendoMultiFilterComboBox({
    placeholder: "民族...",
    dataTextField: "name",
    dataValueField: "name",
    filter: "contains",
    dataSource:[{name:'汉族',code:'hanzu'},<pre name="code" class="javascript" style="color: rgb(85, 85, 85); font-size: 14px; line-height: 21px;">name:'苗族',code:'miaozu'}
]});


html标签:

<input id="Nation"/>

如今我们就实现过组合过滤条件的autocomplete,演示样例仅仅是做了或运算,其它的运算也是能够的,大家能够灵活应用,开发自己的大脑。






kendo AutoComplete实现多筛选条件