4

我正在尝试使用使用模板的 Kendo Dropdownlist。我有一个页面,用户可以在其中选择一个数据集,并且该数据集使用值填充下拉列表。我的大多数下拉菜单都不使用模板,但是无法正常工作的是使用模板。

我的模板:

<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;
});

数据项如下所示:

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

我在设置器文档中注意到您应该使用值或项目。但是,对于我正在使用的数据集,它似乎使用了一个不包含值或文本的不同对象,就像其他不使用模板的下拉菜单一样。

先感谢您!

4

2 回答 2

2

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

于 2013-05-23T12:26:39.217 回答
0

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

于 2013-06-06T08:17:16.523 回答