我正在开发一个允许快速输入数据的应用程序。因此,我想要按int月份值(即7=7月)选择一个日期字段。我想我只有两个选择。
有没有办法让一个隐藏的定位器掉落下来?
-编辑清晰--
我试图让用户更容易地通过键盘输入日期,这样他们就可以输入.,而不是使用日历选择器(我有)。1表1选项卡2010,结果为2010年1月1日。
发布于 2010-09-16 18:17:07
下面是一个如何让它工作的例子:
$(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“。
发布于 2010-09-16 18:15:09
HTML中有一个accesskey
属性,它允许指定使用[Alt] + Character
进行访问。但我不知道,这是否适用于<option>
<select>
<option accesskey="1">January</option>
<!-- ... -->
</select>
发布于 2010-09-16 18:18:57
您可以轻松地使用javascript来完成它。只需检查选中的下拉框(onfocus)和按键,如果1被按下,则选择第一个元素,2秒等等。可能还需要添加一些延迟,并等待第二个按键在多个数字的情况下。
或者,您也可以尝试一些不标准的东西:
<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)到有重点的下拉框中即可。
https://stackoverflow.com/questions/3729292
复制相似问题