Kendo 下拉列表向数据源添加变量项

Kendo dropdownlist add variable item to datasource

我有一个简单的方法可以将数据源填充到 KendoDropdownList 中。但是我做错了什么,通过各种论坛进行研究对我没有帮助。

我想用年份自动填充 kendoDropdownList。 对于现在的 2016、2017 和 2018 以及明年的时候,它会自动需要添加 2019。(所以不是硬编码)

这是我到目前为止的代码:

<script>      

        $(document).ready(function () {
              var startYear=2016;
  var currentYear = new Date().getFullYear(), years = [];
 
 var ddl = new kendo.data.DataSource({
     
         while( startYear <= currentYear) {
         ddl.dataSource.add({
                text: startYear.toString() ,
                value: startYear.toString() 
            });
              years.push(startYear++);
        
        }
        });
          
          
        
            $("#dropdownYear").kendoDropDownList({
                dataTextField: "text",
                dataValueField: "value",
                dataSource: ddl
              });
        
              });
  
</script>
<body>
   <div class="demo-section k-content" style="padding-top:10px;padding-bottom:35px;">
                <input id="dropdownYear" />
                </div>
</body>

这里还有一个 link 道场:https://dojo.telerik.com/ASuWAkuB

非常欢迎任何帮助。

谢谢

您必须构建数据,然后将其作为数据源传递。而不是将其添加到数据源,然后将 "HTML" 添加到数据源,如下所示:

$(document).ready(function () {
          var startYear=2016;
          var currentYear = new Date().getFullYear();
          var data = [];
          while(startYear <= currentYear) {
             var newItem = {
                text: startYear.toString(),
                value: startYear.toString() 
             };
             data.push(newItem);
             startYear++;        
        }         

            $("#dropdownYear").kendoDropDownList({
                dataTextField: "text",
                dataValueField: "value",
                dataSource: data
            });
       });

在这里你可以找到一个有效的道场:Working dojo

干杯,