Kendo dropdownlist将变量项添加到数据源

时间:2018-11-13 14:22:11

标签: drop-down-menu kendo-ui telerik

对于将数据源填充到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>

这里也是dojo的链接:https://dojo.telerik.com/ASuWAkuB

非常欢迎任何帮助。

谢谢

1 个答案:

答案 0 :(得分:1)

您必须先构建数据,然后将其作为数据源传递。而不是将其添加到数据源,然后将“ 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
            });
       });

在这里您可以找到有效的Dojo:Working dojo

干杯