Kendo ComboBox - 如何根据文本而非值()选择选项?

3

我很难根据文本而不是值从下拉框中选择一个选项。 我有一个下拉框,它附加了一个数据源,这些数据源是国家。 这些国家存储在数据库中。 我希望默认国家为“英国”。 目前我正在执行以下操作:

combobox.select(combobox.text("United Kingdom"));

然而,这只是显示文本而没有实际选择它,因为选择功能不会触发。有什么帮助吗??我想应用该值。我在选择函数中有一个警报,但它没有出现。
2个回答

4
使用小部件的select方法,传递谓词。
combobox.select(function(dataItem) {
    return dataItem.text === "Apples"; //note that 'text' === dataTextField
});

这里有一个可运行的演示,展示了这种方法。链接如下:演示

我也尝试过那个方法,但它仍然不起作用。它只是显示正确的文本,而没有实际选择它。 - Simmy Dhanda
当我按照你说的做,并尝试通过alert(combobox.value())来警示该值时,它会警示文本而不是实际的数值,这个数值应该是一个数字。 - Simmy Dhanda
更新了答案,并提供了可运行的演示。不过,这是它的链接: http://dojo.telerik.com/OBAm - George K
$("#combobox").kendoComboBox({ dataSource: [ { id: 1, name: "苹果" }, { id: 2, name: "橙子" } ], dataTextField: "name", dataValueField: "id", select:function(e){ alert(999); } }); 我包含了select函数,但警报在页面加载时没有显示? - Simmy Dhanda
正如文档中所解释的那样,选择事件仅在用户交互时触发。 http://docs.telerik.com/kendo-ui/api/web/combobox#events-select - George K

3

从Javascript中明确选择kendo comboBox的值不会触发“Select”事件。

为了实现这一点,您需要在设置所需的值之后触发“Select”事件。例如:

 var myComboBox = $('#comboBoxId').data('kendoComboBox');
 myComboBox.text("United Kingdom");
 myComboBox.trigger("select");

希望这能解决您的问题。还可以在这里查看。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接