【问题标题】:Kendo Combo Box Value Incorrect When Pressing Enter Key按 Enter 键时 Kendo 组合框值不正确
【发布时间】:2014-10-22 17:32:36
【问题描述】:

TLDR:如何使 value() 在 jsbin 链接中的条件下正确响应? http://jsbin.com/pikoye/edit

我正在使用 Kendo UI 的 ComboBox 并且遇到了一个边缘案例,我希望有人可以帮助我。我使用组合框来显示 MRU 命令列表。通过下面所述的步骤,如果用户选择了一个命令,但随后改变主意或对其进行了编辑,则生成的 value() 仍然具有所选项目的值。

  1. 用鼠标选择列表中的一个项目
  2. 光标现在位于文本框中文本的末尾
  3. 选择所有文本
  4. 输入“某事”并按回车
  5. 警报将显示所选项目的值,但文本为“某事”。

我尝试了其他按键事件来尝试更改时间,但没有任何运气。它发生在 IE11、Chrome 和 Firefox 中。我也尝试过不同版本的 KendoUI。我们希望能够让用户按下 enter 来提交他们的选择,所以必须保留。我的解决方案是使用 text() 值,它现在有效,但似乎 value() 应该有效。

更新:我希望Value() 返回“某物”,而不是您之前选择的索引。我可以将Text() 与索引的文本值进行比较,但似乎这是不必要的比较。要查看我希望看到的值,请单击“自定义”按钮。

【问题讨论】:

    标签: javascript html kendo-ui dom-events kendo-combobox


    【解决方案1】:

    我在这个jsbin中为你提供了一个可能的解决方案http://jsbin.com/vupagekizu/1/

    希望我已经明白你在追求什么。

    基本上我所做的只是为您在组合框中添加了一个 Select 事件,用于检查所选项目的索引是否大于 -1,即列表中的项目,如果是,则系统将其存储在供您访问的全局变量。为了获取项目的所有属性,我选择了与所选项目关联的 dataItem。

    var selectedValue = null;
    
    
     select: function(e)
        {
          if(e.item.index() > -1)
            {
              selectedValue = this.dataItem(e.item.index());
          alert(selectedValue);
            }
          else 
            {
              //do nothing.
            }          
        }
    

    【讨论】:

    • 不是我想要的。我用澄清更新了这个问题。谢谢。
    猜你喜欢
    • 2021-07-18
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 2019-09-05
    相关资源
    最近更新 更多