首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有干净的HTML方法将按键与下拉项关联起来?

是否有干净的HTML方法将按键与下拉项关联起来?
EN

Stack Overflow用户
提问于 2010-09-16 17:46:40
回答 3查看 1.1K关注 0票数 6

我正在开发一个允许快速输入数据的应用程序。因此,我想要按int月份值(即7=7月)选择一个日期字段。我想我只有两个选择。

  1. 准备这个数字到月份(1 -- 1月,2-2月,.(等等)但这是丑陋的
  2. ,使用JS或jQuery来拦截按键,并选择合适的月份(可行,但混乱)

有没有办法让一个隐藏的定位器掉落下来?

-编辑清晰--

我试图让用户更容易地通过键盘输入日期,这样他们就可以输入.,而不是使用日历选择器(我有)。1表1选项卡2010,结果为2010年1月1日。

EN

回答 3

Stack Overflow用户

发布于 2010-09-16 18:17:07

下面是一个如何让它工作的例子:

代码语言:javascript
运行
复制
$(function()
{
    $.each($("select.month"), function() { new MonthSelector(this); });
});

var MonthSelector = function(that)
{
    var self = this;
    $(that).bind("keypress", function(event) { self.onKeyPress(event); } );
    this.two = false;
    this.select = that;
};

MonthSelector.prototype.onKeyPress = function(event)
{
    if (event.which < 48 || event.which > 57) return;
    var digit = event.which - 48;

    if (this.two && digit <= 2)
    {
        digit += 10;
        this.two = false;
    }
    else
    {
        this.two = (digit == 1);
    }

    if (digit != 0) 
        this.select.selectedIndex = digit - 1; 
};

为了简单起见,使用1-12很难编码。(日期和年份的下降应该根据浏览器内置的功能自动工作。)

这也不应影响用户的能力(例如)12月输入"Dec“。

票数 2
EN

Stack Overflow用户

发布于 2010-09-16 18:15:09

HTML中有一个accesskey属性,它允许指定使用[Alt] + Character进行访问。但我不知道,这是否适用于<option>

代码语言:javascript
运行
复制
<select>
    <option accesskey="1">January</option>
    <!-- ... -->
</select>
票数 0
EN

Stack Overflow用户

发布于 2010-09-16 18:18:57

您可以轻松地使用javascript来完成它。只需检查选中的下拉框(onfocus)和按键,如果1被按下,则选择第一个元素,2秒等等。可能还需要添加一些延迟,并等待第二个按键在多个数字的情况下。

或者,您也可以尝试一些不标准的东西:

代码语言:javascript
运行
复制
<label for="state">State:</label>
<select id="state" name="state">
    <option accesskey="1">.1.</option>
    <option accesskey="2">.2.</option>
    <option accesskey="3">.3.</option>
    <option accesskey="4">.4.</option>
</select>

通过按Alt+Number,您将能够在下拉列表中选择元素。只需将accesskey属性动态添加到选项(JavaScript)到有重点的下拉框中即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3729292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档