2013-04-05 68 views
4

我正在嘗試使用使用模板的Kendo Dropdownlist。我有一個頁面,用戶可以選擇一個數據集,該數據集包含具有值的填充下拉列表。我的大多數下拉菜單不使用模板,但是無法正常工作的模板正在使用模板。具有模板集選定值的Kendo UI下拉列表不起作用

我的模板:

<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" 
}] 

我你應該爲使用的值或項目的制定者文檔中發現。但是,對於我正在使用的數據集,它似乎使用不包含值或文本的不同對象,如不使用模板的其他下拉列表。

預先感謝您!

回答

2

我有一個類似的問題。似乎有效的是添加數據。在您對數據源值的調用之前。 ie#= data.Description#

+0

我對ComboBox使用了相同的模板,但我沒有放置「數據」。前面。這很奇怪。 – Misi 2015-01-30 13:56:32

0

您可以在kendoTemplate中使用$ {Name}和$ {Description}來填充它,當讀取數據源時,模板將獲取值並且您可以根據給你模板。