我的KendoUI MultiSelect小部件初始化如下:
$("#" + key).kendoMultiSelect({
placeholder: placeholder,
dataTextField: dataText,
dataValueField: dataValue,
filter: "contains",
autoBind: false,
dataSource: {
type: "jsonp",
transport: {
read: {
url: urlValue
}
},
error: function(e) {
console.log(e);
}
},
value: GetSavedJSONObject(key),
//value: [
//{ Name: "Chang", Id: 2 },
// { Name: "Uncle Bob's Organic Dried Pears", Id: 7 }
//],
select: removeMark,
change: multiselect_checkForChanges,
autoClose: isAutoClose
});
其中GetSavedJSONObject(key)是这样的对象数组:
[Object { Id=1, Name="AA"}, Object { Id=2, Name="BB"}]
我面临的问题是页面加载时,我可以看到" AA"和" BB"在多选小部件中,不会对网址进行调用。但是,当我尝试向窗口小部件添加更多项目时,没有任何内容可以添加,因为窗口小部件认为唯一可用的项目是我在" value"中指定的项目。初始化期间窗口小部件的字段。
在Server Filtering演示中,您将看到该示例设置了小部件的值,就像我一样,但是当您尝试向小部件添加更多项目时,则会调用该网址以获取更多信息数据和小部件打开。
我确定这是用户错误,但我只需要一些关于下一步尝试的指示,以便让小部件显示其余的数据。
编辑: 当我使GetSavedJSONObject(key)返回一个Ids数组时,
[1,2,3]
我能够点击小部件来获取其余数据。但是,期望的结果是能够设置窗口小部件的值(因为我有Id / Name对)没有必须调用数据源和能够点击小部件来获取其余的数据)
答案 0 :(得分:0)
保持我的对象数组并设置serverFiltering:true属性修复了该问题。希望这能节省别人的时间。 叹息