我使用KendoUI ComboBox,我想放一个默认选择项。
在KendoUI ComboBox中,我没有找到将默认值放在文本中而不是索引的方法。
<script>
$("#combobox").kendoComboBox({
dataSource: [
{ id: 1, name: "Apples" },
{ id: 2, name: "Oranges" }
],
dataTextField: "name",
dataValueField: "id"
});
var combobox = $("#combobox").data("kendoComboBox");
combobox.select(combobox.ul.children().eq(0));
</script>
这是一个例子。如何将其转换为文本?
答案 0 :(得分:4)
正如@SatyaRanjanSahoo所说,你应该使用value
但是,你应该使用id
值,否则你将强制一个可能不在DataSource中的值。
示例,如果您这样做:
var combobox = $("#combobox").data("kendoComboBox");
// Set Value
combobox.value("Apricot");
// Get Value
alert("Value is " + combobox.value());
这会显示Apricot
,但如果您这样做,则不在DataSource
中:
var combobox = $("#combobox").data("kendoComboBox");
// Set Value
combobox.value(2);
// Get Value
alert("Value is " + combobox.value());
这将显示Oranges
id
为2
的商品的正确值。
因此,除非您确定value
来电中设置的值是有效dataTextField
,否则我建议您使用dataValueField
。
请在以下代码段中查看此内容...
$("#combobox").kendoComboBox({
dataSource: [
{ id: 1, name: "Apples" },
{ id: 2, name: "Oranges" }
],
dataTextField: "name",
dataValueField: "id"
});
var combobox = $("#combobox").data("kendoComboBox");
// Set a valid value
combobox.value("Oranges");
alert("Value for Oranges is: " + combobox.value());
// Set an invalid value
combobox.value("Apricots");
alert("Value for Apricots is: " + combobox.value());
&#13;
<link href="http://cdn.kendostatic.com/2014.2.1008/styles/kendo.common.min.css" rel="stylesheet" />
<link href="http://cdn.kendostatic.com/2014.2.1008/styles/kendo.default.min.css" rel="stylesheet" />
<script src="http://cdn.kendostatic.com/2014.2.1008/js/jquery.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.2.1008/js/kendo.all.min.js"></script>
<input id="combobox"/>
&#13;
答案 1 :(得分:1)
将文字直接放入组合框:
var combobox = $("#combobox").data("kendoComboBox");
combobox.value("Oranges");
但是,使用相同的方法可以将匿名文本设置到组合框中,该组合框不是数据源的一部分。即
combobox.value("XYZ");
因此,使用index将值设置为组合框很好。