如何根据 json 属性在 Kendo jquery 下拉列表中设置默认值
How to set a default value in a Kendo jquery dropdown based upon a json attribute
我认为这会非常简单,但找不到解决方案。我有一个使用 Jquery 构建的 Kendo 下拉菜单。我不知道如何根据 Json.
中的属性动态设置默认值
数据源是这样的:
var dataStores2 = {"stores":[{"id":100, "name":"Shop 1" ,"defaultStore":false},{"id":150, "name":"Shop 2" ,"defaultStore":true},{"id":900, "name":"Shop 3" ,"defaultStore":false}]};
下拉菜单使用以下方法构建:
var storeList = $('#StoreNameSelect').data('kendoDropDownList');
if (!storeList) {
console.log('store list is not initialised');
// create DropDownList from input HTML element
$('#StoreNameSelect').kendoDropDownList({
dataTextField: 'name',
dataValueField: 'id',
dataSource: dataStores2.stores,
dataBound: function(e) {
// handle the event
console.log(this);
this.select(1);
}
});
}
您可以看到我正在使用以下代码在 dataBound 事件中对默认值进行硬编码:
this.select(1);
我如何才能动态地基于 Json 中的 defaultStore 布尔值?
我正在使用它作为解决方案,但如果有更好的方法,我会很感兴趣。
if (!storeList) {
console.log('store list is not initialised');
// create DropDownList from input HTML element
$('#StoreNameSelect').kendoDropDownList({
dataTextField: 'name',
dataValueField: 'id',
dataSource: dataStores2.stores,
dataBound: function(e) {
// handle the event
for (var i=0,len=dataStores2.stores.length; i<len; i++){
//console.log(dataStores2.stores[i].defaultStore);
if(dataStores2.stores[i].defaultStore){
this.select(i);
}
}
}
});
}
我认为这会非常简单,但找不到解决方案。我有一个使用 Jquery 构建的 Kendo 下拉菜单。我不知道如何根据 Json.
中的属性动态设置默认值数据源是这样的:
var dataStores2 = {"stores":[{"id":100, "name":"Shop 1" ,"defaultStore":false},{"id":150, "name":"Shop 2" ,"defaultStore":true},{"id":900, "name":"Shop 3" ,"defaultStore":false}]};
下拉菜单使用以下方法构建:
var storeList = $('#StoreNameSelect').data('kendoDropDownList');
if (!storeList) {
console.log('store list is not initialised');
// create DropDownList from input HTML element
$('#StoreNameSelect').kendoDropDownList({
dataTextField: 'name',
dataValueField: 'id',
dataSource: dataStores2.stores,
dataBound: function(e) {
// handle the event
console.log(this);
this.select(1);
}
});
}
您可以看到我正在使用以下代码在 dataBound 事件中对默认值进行硬编码: this.select(1);
我如何才能动态地基于 Json 中的 defaultStore 布尔值?
我正在使用它作为解决方案,但如果有更好的方法,我会很感兴趣。
if (!storeList) {
console.log('store list is not initialised');
// create DropDownList from input HTML element
$('#StoreNameSelect').kendoDropDownList({
dataTextField: 'name',
dataValueField: 'id',
dataSource: dataStores2.stores,
dataBound: function(e) {
// handle the event
for (var i=0,len=dataStores2.stores.length; i<len; i++){
//console.log(dataStores2.stores[i].defaultStore);
if(dataStores2.stores[i].defaultStore){
this.select(i);
}
}
}
});
}