在一个方法中动态创建kendo下拉列表,并在另一个方法分配数据源



我必须根据收到的id数量动态创建剑道dropdownlist。我创建了一个方法,在这个方法中,我在id上循环并用该id创建下拉列表。这并不是说所有的下拉列表都会在更改父下拉列表时同时创建。此下拉列表的数据源相同。。。那么我如何将数据源分配到下拉列表中呢?目前我正在获取未定义错误的数据源。另外,我在另一个metid中分配数据源,这是不一样的。任何帮助都是可观的。

您可以使用setDataSource()将dataSource设置为初始化的Kendo小部件。

$('#myDropDown').kendoDropDownList({
// options
}); 
let dataSource = new kendo.data.DataSource({ 
// options
});
$('#myDropDown').data('kendoDropDownList').setDataSource(dataSource);

演示:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.1.330/styles/kendo.common.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.1.330/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.1.330/styles/kendo.default.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.1.330/styles/kendo.mobile.all.min.css">
<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.1.330/js/angular.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.1.330/js/jszip.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.1.330/js/kendo.all.min.js"></script></head>
<body>
<script>
for (let i = 0; i < 10; i++) {
$('<select class="dropdown"></select>')
.appendTo($('body'))
.kendoDropDownList();
}

let dataSource = new kendo.data.DataSource({
data: ['Opt 1']
});

$('select.dropdown').each((i, el) => {
$(el).data('kendoDropDownList').setDataSource(dataSource);
});
</script>
</body>
</html>

Dojo

相关内容

最新更新