使用带有多个下拉窗口小部件的kendo-ui数据源数据

时间:2015-07-20 08:51:47

标签: javascript kendo-ui kendo-datasource

我想使用具有多个下拉列表的数据源数据,如果我使用共享数据源使得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); }); 

1 个答案:

答案 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的重复使用是另一个问题。