我有这个下拉列表
$("#rooms").kendoDropDownList({
template: kendo.template($("#roomsListTemplate").html()),
valueTemplate: kendo.template($("#roomsSelectTemplate").html()),
filter: "contains",
dataTextField: "room",
dataValueField: "id",
dataSource: roomsList,
index: 0,
select: onSelectRoom
});
var rooms = $("#rooms").data("kendoDropDownList");
使用此模板
<script id="roomsSelectTemplate" type="text/x-kendo-template">
<span class="roomName">
#if (room != 'null' && room != '') { #
#=room#
# } #
#if (availability == 'roomOk') { #
- Available
# } #
</span>
</script>
现在我希望能够以编程方式设置下拉列表文本。我正在尝试:
rooms.text("Select a room...");
这适用于另一个下拉列表,该下拉列表中的模板只有一个值,但是这个值有两个值(房间和可用性)。
Firebug引发&#34; ReferenceError:未定义可用性&#34;所以问题肯定是模板期望可用性
的值我试过了
rooms.text("Select a room...","Something here");
但是来自Firebug的结果和错误消息......
您可以在http://jsfiddle.net/pmeconi/jr2kgvsd/1/
看到这两种行为当模板上有多个值时,有关如何使其工作的任何想法吗?
提前致谢!
答案 0 :(得分:0)
我不知道这是否适用于您的设置,但您可以使用&#34; optionLabel&#34;下拉属性,然后选择0元素。
看看我稍微修改过的小提琴。
$("#rooms2").kendoDropDownList({
template: kendo.template($("#roomsListTemplate2").html()),
valueTemplate: kendo.template($("#roomsSelectTemplate2").html()),
filter: "contains",
dataTextField: "room",
dataValueField: "id",
optionLabel: "Select room",
dataSource: roomsList,
index: 0
});
$("#changeText2").click(function(e) {
rooms2.select(0);
});