0
所以我这是这样新的剑道数据源为空?
var newArrary = Array();
for (var i = 0; i < result.length; i++) {
if (result[i].Id != TaskId) {
newArrary.push({text:result[i].Name, value:result[i].Id})
}
}
我做了的console.log,可以看到,数组得到正确初始化定义的数组。
我再接着创建一个新的数据源
var dataSource = new kendo.data.DataSource({
data: newArrary
});
,并检查,看看它是正确初始化
但是当我尝试将其设置为与我的下拉列表中的setDataSource
方法的下拉列表,它抱怨大约Uncaught TypeError: Text.indexOf is not a function
所以我做了一个简单的dataSource.at(1)
并得到'undefined'。不知道我在这里做错了什么?
更新添加更多的代码:
如何创建/配置的下拉
@(Html.Kendo().DropDownListFor(m => m)
.BindTo(list)
.DataTextField("Text")
.DataValueField("Value")
.HtmlAttributes(attributes)
.OptionLabel(string.IsNullOrEmpty(label) ? (required && @dropDownList.Value != "0" && @dropDownList.Value != "" ? "" : " ") : label)
.Value(@dropDownList.Value)
.TemplateId("myTemplate")
.ValueTemplateId("dmyTemplate")
)
怎么我使用的的setDataSource
setTask = function (result, taskCodeStartList, taskCodeResultLisr) {
var selectedTaskItem = $("#" + taskStartList).data("kendoDropDownList")
var selectedFilterTask = $("#" + taskResultLisr).data("kendoDropDownList").value()
var newArrary = Array();
for (var i = 0; i < result.length; i++) {
if (result[i].Id != selectedFilterTaskId) {
newArrary.push({text:result[i].Name, value:result[i].Id})
}
}
var dataSource = new kendo.data.DataSource({
data: newArrary
});
selectedTaskCodeItem.setDataSource(dataSource);
return selectedTaskCodeItem;
};
请提供DropDownList配置以及您使用'setDataSource'的方式和位置。一个完整的虚拟'结果'示例将会非常有用。 – dimodi
@dimodi我使用Kendo MVC,所以我不能真正创建一个工作示例,但我可以发布更多的代码。 –