I am trying to use a Kendo Dropdownlist that uses a template. I have a page where a user can select a dataset and that dataset with populate dropdowns with values. Most of my dropdowns do not use templates however the one that isnt working properly is using templates.
My template:
<script type="text/x-kendo-tmpl" id="dropdownTemplate">
<div>
<p><strong>#= Name #</strong></p>
<p>#= Description #</p>
</div>
</script>
My dropdown definition:
$("#listTemplates").kendoDropDownList({
dataTextField: "Name",
dataValueField: "ChartTemplateId",
template: kendo.template($("#dropdownTemplate").html()),
change: listTemplatesChange
});
How I am populating my dropdown:
portalTemplatesModel = [
[{
Name: "Test",
Description: "Long Description",
ChartTemplateId: "1"
}],
[{
Name: "Test2",
Description: "Long Description2",
ChartTemplateId: "2"
}]
]
for (i = 0; i < portalTemplatesModel.length; i++) {
debugger;
$("#listTemplates").data("kendoDropDownList").dataSource.add(portalTemplatesModel[i]);
}
My setter:
var ddTemplates = $("#listTemplates").data("kendoDropDownList");
ddTemplates.select(function (dataItem) {
debugger;
return dataItem.value === placeHolderChart.ChartTemplateId;
});
dataItem looks like the following:
[{
Name: "Test",
Description: "Long Description",
ChartTemplateId: "1"
}]
I noticed in the setter documentation you are supposed to use either value or item. However, with the dataset that I am using it seems to use a different object that does not contain value or text like the other dropdowns that dont use templates have.
Thank you in advance!
My template:
<script type="text/x-kendo-tmpl" id="dropdownTemplate">
<div>
<p><strong>#= Name #</strong></p>
<p>#= Description #</p>
</div>
</script>
My dropdown definition:
$("#listTemplates").kendoDropDownList({
dataTextField: "Name",
dataValueField: "ChartTemplateId",
template: kendo.template($("#dropdownTemplate").html()),
change: listTemplatesChange
});
How I am populating my dropdown:
portalTemplatesModel = [
[{
Name: "Test",
Description: "Long Description",
ChartTemplateId: "1"
}],
[{
Name: "Test2",
Description: "Long Description2",
ChartTemplateId: "2"
}]
]
for (i = 0; i < portalTemplatesModel.length; i++) {
debugger;
$("#listTemplates").data("kendoDropDownList").dataSource.add(portalTemplatesModel[i]);
}
My setter:
var ddTemplates = $("#listTemplates").data("kendoDropDownList");
ddTemplates.select(function (dataItem) {
debugger;
return dataItem.value === placeHolderChart.ChartTemplateId;
});
dataItem looks like the following:
[{
Name: "Test",
Description: "Long Description",
ChartTemplateId: "1"
}]
I noticed in the setter documentation you are supposed to use either value or item. However, with the dataset that I am using it seems to use a different object that does not contain value or text like the other dropdowns that dont use templates have.
Thank you in advance!