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

Posted

技术标签:

【中文标题】Kendo ComboBox - 如何根据其文本()而不是值()选择选项?【英文标题】:Kendo ComboBox - How to select option based on its text() rather than value()? 【发布时间】:2014-10-27 18:24:48 【问题描述】:

我真的很难根据文本而不是值从组合框中选择一个选项。我有一个组合框,其中附加了一个国家/地区的数据源。这些国家存储在数据库中。我希望默认国家是“英国”。 目前我正在做以下事情:

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

但是,这仅显示文本,并没有实际选择它,因为选择功能不会触发。有什么帮助吗?我希望应用该值。我在选择功能中有一个没有出现的警报。

【问题讨论】:

【参考方案1】:

使用小部件的select 方法并传递谓词

combobox.select(function(dataItem) 
    return dataItem.text === "Apples"; //note that 'text' === dataTextField
);

这是一个可运行的demo 演示了这种方法。

【讨论】:

我也试过了,还是不行。它只是显示正确的文本,而不是实际选择它。 当我按照你说的做并尝试通过以下方式提醒值时:alert(combobox.value());它提醒文本而不是数字的实际值。 用可运行的演示更新了答案。不过,这里是:dojo.telerik.com/OBAm $("#combobox").kendoComboBox( dataSource: [ id: 1, name: "Apples" , id: 2, name: "Oranges" ], dataTextField: " name", dataValueField: "id", select:function(e) alert(999); );我包含了选择功能,并且页面加载时不显示警报?? 如文档中所述,选择事件仅在用户交互时触发。 docs.telerik.com/kendo-ui/api/web/combobox#events-select【参考方案2】:

javascript 中显式选择剑道组合框值不会触发“选择”事件。

为了实现您必须在设置所需值后触发“选择”事件。 例如

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

希望这将解决您的目的。还要检查here。

【讨论】:

以上是关于Kendo ComboBox - 如何根据其文本()而不是值()选择选项?的主要内容,如果未能解决你的问题,请参考以下文章

Kendo React ComboBox 不会滚动到键入的值

为 kendo ui Combobox 触发了两次更改事件

Kendo Grid 如何以编程方式聚焦网格单元并阻止选择文本

Kendo UI for Angular:Kendo UI Datepicker 禁用输入/仅文本框部分

delphi 如何分割文本

Kendo UI:在按钮单击时获取文本框值