0

我在 Kendo UI 版本 2013.1.319 中使用新的 Kendo Multi Select Control。我正在尝试一次添加一个选定的项目,但我很挣扎。

我的标记:

 <input style="width: 100%; margin-top: 15px;" id="selectedFilters" />

我的脚本:

 var filterMultiSelect = $('#selectedFilters').kendoMultiSelect({
                        dataSource: data,
                        dataTextField: 'name',
                        dataValueField: 'value',
                        filter: 'contains',
                        placeholder: "No Filters Selected.",
                        delay: 0,
                        minLength: 2,
                        highlightFirst: true,
                        ignoreCase: true,
                        change: function () {
                            applyFilters();
                        }
                    }).data("kendoMultiSelect");

附加项目的脚本:

newlySelectedFilters.forEach(function (dataItem) {
                        var filters = filterMultiSelect.value();
                        var temp = $.merge($.merge([], filters), [dataItem]);
                        temp = $.unique(temp);
                        filterMultiSelect.value(temp);
                    });

这是一个说明问题的jsFiddle项目。

我究竟做错了什么?任何帮助将不胜感激。

4

1 回答 1

2

好的,如果你发现同样的问题。剑道帮我填了表格。他们创建了以下jsFiddle。看小提琴。如果要将选定的值附加到已选定的值,则使用 .slice() 方法。

解决方案是:

// Remove previous selected Filters. (This was undocumented method. I got from Kendo)
multiSelect.dataSource.filter({});

// Set the new filters
filterMultiSelect.value(newlySelectedFilters);

以这种方式重置过滤器解决了我的问题。

于 2013-04-24T16:58:24.217 回答