我想使用具有多个下拉列表的数据源数据,如果我使用共享数据源使得ajax请求与服务器的下拉数量一样多。我需要的是1 ajax请求并使用该数据填充所有下拉列表。 这段代码给我的ildata没有定义..
感谢您的帮助。
代码示例
var ilDataSource= new kendo.data.DataSource({
transport: {
read: {
url: "{{ url('ajax/ilList') }}",
dataType: "json"
}
}
});
ilDataSource.fetch(function(){
var ildata = ilDataSource.data();
});
var iller = $("#iller").kendoDropDownList({
placeholder: "İl Seçiniz",
dataSource : {
data: ildata
},
dataTextField: "il",
dataValueField: "id"
}).data("kendoDropDownList");
我可以在函数范围内获取数据项但不能达到共同的范围..
ilDataSource.fetch(function() {
ildata = ilDataSource.data().toJSON();
console.log(ildata); });
答案 0 :(得分:1)
ilDataSource.fetch(function(){ var ildata = ilDataSource.data(); });
这定义了一个范围为匿名函数的本地变量ildata
。
dataSource : { data: ildata },
因此此时没有变量/属性ildata
。
您需要在两个用例的公共范围内声明ildata
:
var ildata;
ilDataSource.fetch(function(){
ildata = ilDataSource.data();
});
var iller = $("#iller").kendoDropDownList({
placeholder: "İl Seçiniz",
dataSource : {
data: ildata
},
dataTextField: "il",
dataValueField: "id"
}).data("kendoDropDownList");
Kendo是否可以处理单个DataSource的重复使用是另一个问题。