kendo-ui – 具有模板集选定值的Kendo UI下拉列表不起作用

我正在尝试使用使用模板的Kendo下拉列表.我有一个页面,用户可以选择数据集,该数据集包含带有值的下拉列表.我的大多数下拉菜单都不使用模板,但是工作不正常的模板使用的是模板.

我的模板:

<script type="text/x-kendo-tmpl" id="dropdownTemplate">
  <div>
    <p><strong>#= Name #</strong></p>
    <p>#= Description #</p>
  </div>
</script>

我的下拉定义:

$("#listTemplates").kendoDropDownList({
 dataTextField: "Name",
 dataValueField: "ChartTemplateId",
 template: kendo.template($("#dropdownTemplate").html()),
 change: listTemplatesChange
});

我如何填充我的下拉列表:

 portalTemplatesModel = [
 [{
   Name: "Test",
   Description: "Long Description",
   ChartTemplateId: "1"
 }],
 [{
   Name: "Test2",
   Description: "Long Description2",
   ChartTemplateId: "2"
 }]
 ]
 for (i = 0; i < portalTemplatesModel.length; i++) {

   $("#listTemplates").data("kendoDropDownList").dataSource.add(portalTemplatesModel[i]);
 }

我的二传手:

var ddTemplates = $("#listTemplates").data("kendoDropDownList");
 ddTemplates.select(function (dataItem) {
 return dataItem.value === placeHolderChart.ChartTemplateId;
});

dataItem如下所示:

 [{
   Name: "Test",
   Description: "Long Description",
   ChartTemplateId: "1"
 }]

我注意到在setter文档中你应该使用value或item.但是,对于我使用的数据集,它似乎使用不包含值或文本的不同对象,就像不使用模板的其他下拉列表一样.

先感谢您!

最佳答案 我遇到了类似的问题.似乎有用的是添加数据.在您调用数据源值之前.

即#= data.Description#

点赞