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

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

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

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

【问题讨论】:

    标签: combobox kendo-ui kendo-datasource kendo-combobox


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 2018-08-13
      • 2018-07-21
      相关资源
      最近更新 更多