我正在尝试使用使用模板的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。但是,对于我正在使用的数据集,它似乎使用不包含值或文本的其他对象,就像不使用模板的其他下拉列表一样。
提前谢谢!
答案 0 :(得分:2)
我有类似的问题。似乎有用的是添加数据。在您调用数据源值之前。 即#= data.Description#
答案 1 :(得分:0)
您可以通过在kendoTemplate中使用$ {Name}和$ {Description}来填充它,当读取数据源时,模板将获取值,您可以根据您的模板查看它。