将多个选定值从数组添加到Kendo Multi Select

时间:2016-10-24 17:19:22

标签: kendo-ui kendo-multiselect

背景

我从数据库中获取需要在kendo多选中预先选择的值。我能用一个单词做到这一点,但是当DB的返回值是多个单词时,我遇到了问题。

问题:

我无法在我的kendo多选中填充预先选择的值。在最好的情况下,当我只得到一个返回的单词时,我能够运行这两行var value = multiSelect.value(); multiSelect.value(["test"]);,并且多选将填充测试选择。但是,当我从数组中执行多个值时,它的工作方式不同。

代码:

var keyWordPool = [{Words: "Test"},{Words: "Test2"}, {Words: "Test3"}, 
                   {Words: "Test4"},{Words: "Test5"}];

var returnedWords = ["Test","Test4", "Test5"]; **<< This does not work**
var returnedWords = ["Test"]; **<< This does work** 

CreateandPopulateMultiSelect(keyWordPool, returnedWords)

function CreateandPopulateMultiSelect(dataSource, wordsToPopulate)
{
   var multiSelect = $(".PanelMultiSelect").kendoMultiSelect({
        dataSource: dataSource,
        filter: "contains",
        dataTextField: "Words",
        dataValueField: "Words",
        select: function (e) {
            var item = e.item;
            var text = item.text();
            var stop = 0;
        }
    }).data("kendoMultiSelect");

   var value = multiSelect.value();

   multiSelect.value([wordsToPopulate]);
}

目的:

我无法控制从DB返回的单词数量,因此我需要能够在任何给定时间添加多个单词,以及一个单词。当一个人打开面板栏时,我需要选择 wordsToPopulate

1 个答案:

答案 0 :(得分:3)

好吧,我无法确切地告诉你kendo内部发生了什么,但是当你把它传递给CreateandPopulateMultiSelect()时,你的wordsToPopulate变量已经是一个数组了。如果你改变了

multiSelect.value([wordsToPopulate]);

multiSelect.value(wordsToPopulate);

它应该有用。

http://dojo.telerik.com/@Stephen/aMEma