如何一次将所选项目附加到Kendo MultiSelect One项目?

时间:2013-04-23 20:31:35

标签: jquery model-view-controller telerik kendo-ui multi-select

我在Kendo UI版本2013.1.319中使用了新的Kendo Multi Select Control。我试图一次追加一个选定的项目,我正在努力。

我的Mark-UP:

 <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项目。

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

1 个答案:

答案 0 :(得分:2)

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

解决方案是:

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

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

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