【问题标题】:HTML Select shortcut key overrideHTML 选择快捷键覆盖
【发布时间】:2011-03-28 20:32:33
【问题描述】:

我有一个下拉列表(HTML 选择元素),它只包含一堆美元金额。例如

50,000 美元

100,000 美元

150,000 美元

200,000 美元

等等..

其中一个选项元素的示例是:

<option value="150000">$150,000</option>

我希望用户能够开始输入 1..5..0.. 并让它自动跳转到 150,000 美元的项目 - 如果我没有任何浏览器,这在大多数浏览器中都可以正常工作我的innerhtml中的$符号。但是因为我所有的 innerhtml 描述都以 $ 符号为前缀,所以键盘快捷键都是相同的,所以实际上没用。

我假设在原始 HTML 中没有简单的方法来指定键盘快捷键应该从相应的 value 属性而不是 innerhtml 文本中获取?

那么实现这一目标的最干净的 jquery sn-p 是什么?

【问题讨论】:

  • 有趣的事实:如果您有货币后缀,这将按预期工作。为什么美国必须按照自己的方式行事?
  • @你这不仅仅是美国 - 考虑 300 英镑......我认为这是一个盎格鲁撒克逊人的事情。

标签: html select drop-down-menu keyboard-shortcuts


【解决方案1】:

如果可能的话,我会简单地将$ 放在下拉菜单的前面。那将是最不痛苦的方式。

如果这不是一个选项,您可以考虑为每个option 使用包含$ 符号的background-image

select.dollar option { background-image: url(...); 
                       background-position: left center; 
                       background-repeat: no-repeat;
                       padding-left: 20px;
                      }

不过,浏览器对此的支持非常非常不稳定 - 它可能仅适用于每个系列的最新版本。它可能在 IE 中根本不起作用,我没有方便的概述。而且,这种方式不利于未来的国际化。

除此之外,我认为您将不得不求助于基于 JavaScript 的自定义下拉菜单。

【讨论】:

  • 谢谢。是的,我同意,背景图像方法非常不稳定且不可取。我想要一些尽可能简单和健壮/干净的东西,最好不要使用图形。我在实际下拉菜单本身的想法之前想到了 $ 符号,它可能是我能想到的最好的一个,但不幸的是外观受到影响。
  • 有趣的是,我想我最终会与你的背景图像想法略有不同。实际上,我的整个表单后面都有一个平坦的背景图像,以使字段看起来有点现代/ 3D等。因此,与其在每个选项元素后面放置带有 CSS 的背景 $ 符号,我只需在背景,它会起作用,因为我的选择没有边框,所以它看起来会看起来很无缝。谢谢你的主意。无论如何,我已经从选项元素中删除了 $ 符号,现在至少键盘快捷键可以很好地工作。我会给你一个观点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 2022-12-31
  • 1970-01-01
  • 2011-04-10
  • 2013-04-01
  • 1970-01-01
相关资源
最近更新 更多