【问题标题】:How to select combo value on click of enter如何在单击输入时选择组合值
【发布时间】:2017-02-03 09:44:08
【问题描述】:

如何在点击进入时选择组合值。

我正在使用组合框,并且通过单击鼠标并单击 Enter 来获取值。但是当我通过单击输入选择第二个值时,第一个值消失了。我使用键盘和值出现在搜索中。如何解决这个问题。

在我的提琴手中,请点击输入选择两个值,点击第二个值会消失第一个值。

请帮我解决这个问题。 MyFiddler.

注意:我不想使用标签字段。

【问题讨论】:

  • 我认为在button click 之后页面正在重新加载..
  • 该选择正在单击和选定的文本上工作,因此当您悬停某个项目时,它被选中并在单击时被添加,但是当您悬停并输入某些内容时,它会在组合框中输入选择其他第一个项目的悬停保持不变,因此进入它时会取消选择
  • 你的问题对我来说不是很清楚。我认为您的代码没有任何问题。我可以通过按 ENTER 并单击值来选择多个值。
  • @Tanmay 解决办法是什么。
  • @Han 正是以这种方式工作,但就像我正在搜索值然后按输入而不是从键盘移动箭头。

标签: javascript extjs combobox extjs6


【解决方案1】:

Combobox 控件是故意围绕只有一个选择而构建的。它used to support multi-select,但自 Ext 5.1 以来已被弃用,并且可能会以令人讨厌的方式消失或中断。

执行您想要的操作的唯一内置方法是使用标记字段(您已表示不想要)或Ext.view.MultiSelector 类。后者不是单个字段,而是a variant of a grid

【讨论】:

  • 谢谢,我知道你能检查下 Ext 的低版本,看看天气我的要求是否在那里工作。
  • 好吧,你的问题被标记为“extjs6”,所以我假设你正在使用它。您的小提琴适用于 ExtJS 6.2。我就是这么回答的。但我也在 E​​xtJS 5.0.1 中查看了您的 Fiddle,但它仍然无法按照您想要的方式工作。我怀疑这是不推荐使用 multiSelect 选项的部分原因
  • 问题在于“类型搜索”功能与 mutliSelect 值的存储方式发生冲突。因为组合框只有一个值,所以 multiSelect 功能使用存储由分号分隔的值的技巧。但是 type-to-search 不适用于此,因此它会删除其他值。这是设计使然,不太可能解决,除非一起禁用“类型搜索”功能。
  • 谢谢。我将更改为tagfield。我想这样更好。
猜你喜欢
  • 2020-12-23
  • 2018-03-20
  • 1970-01-01
  • 2020-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多