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

时间:2013-04-05 15:27:55

标签: 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。但是,对于我正在使用的数据集,它似乎使用不包含值或文本的其他对象,就像不使用模板的其他下拉列表一样。

提前谢谢!

2 个答案:

答案 0 :(得分:2)

我有类似的问题。似乎有用的是添加数据。在您调用数据源值之前。 即#= data.Description#

答案 1 :(得分:0)

您可以通过在kendoTemplate中使用$ {Name}和$ {Description}来填充它,当读取数据源时,模板将获取值,您可以根据您的模板查看它。