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 Grid 如何以编程方式聚焦网格单元并阻止选择文本