将数组中的多个选定值添加到 Kendo Multi Select
Adding multiple selected values from an array to a Kendo Multi Select
背景:
我从数据库获取值,需要在 kendo 多 select 中预先 selected。我可以用一个词来做到这一点,但是当数据库中的 return 值是多个词时,我 运行 会遇到问题。
问题:
我无法在我的 kendo 多 select 中填充预先 select 的值。在最好的情况下,当我只得到一个 returned 词时,我能够 运行 这两行 var value = multiSelect.value(); multiSelect.value(["test"]);
并且 multi select 将填充测试 select离子。但是,当我从数组中获取多个值时,它的工作方式不同。
代码:
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]);
}
Objective:
我无法控制从数据库返回的单词数量,因此我需要能够在任何给定时间添加多个单词,以及一个单词。当有人打开面板栏时,我需要 wordsToPopulate 已经 selected。
好吧,我无法准确告诉您 kendo 内部发生了什么,但是当您将 wordsToPopulate 变量传递给 CreateandPopulateMultiSelect() 时,它已经是一个数组。如果你改变
multiSelect.value([wordsToPopulate]);
到
multiSelect.value(wordsToPopulate);
应该可以。
背景:
我从数据库获取值,需要在 kendo 多 select 中预先 selected。我可以用一个词来做到这一点,但是当数据库中的 return 值是多个词时,我 运行 会遇到问题。
问题:
我无法在我的 kendo 多 select 中填充预先 select 的值。在最好的情况下,当我只得到一个 returned 词时,我能够 运行 这两行 var value = multiSelect.value(); multiSelect.value(["test"]);
并且 multi select 将填充测试 select离子。但是,当我从数组中获取多个值时,它的工作方式不同。
代码:
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]);
}
Objective:
我无法控制从数据库返回的单词数量,因此我需要能够在任何给定时间添加多个单词,以及一个单词。当有人打开面板栏时,我需要 wordsToPopulate 已经 selected。
好吧,我无法准确告诉您 kendo 内部发生了什么,但是当您将 wordsToPopulate 变量传递给 CreateandPopulateMultiSelect() 时,它已经是一个数组。如果你改变
multiSelect.value([wordsToPopulate]);
到
multiSelect.value(wordsToPopulate);
应该可以。