我正在尝试使用键盘选择下拉菜单中的月份 1一月 2月2日等 我尝试使用javascript实现这一个...我得到它到九月,我必须添加到实现完整的结果,这是我的代码......
JAVASCRIPT:
$(".select_month").on('keyup',function(){
var index;
if(event.keyCode>=96&&event.keyCode<=105) {
index=((event.keyCode+1)-96)-1;
document.getElementById("month").selectedIndex =index;
}
});
select_month是select的类名...请帮帮我...提前谢谢
答案 0 :(得分:0)
首先,您可以通过添加&#34; 1月1日和#34;,&#34; 2月2日&#34;来实现这一目标。等 - 但我明白它是否太难看了。
其次,你忘记了&#34;事件&#34;函数中的参数。没有这个event.keyCode就不存在了。然后你必须创建一个超时函数,等待一秒钟输入另一个字符,比如第1个然后是2个,以表示12月。如果用户在最后一秒内按下了一个keyUp,请将其添加到另一个键码并执行某些操作。
答案 1 :(得分:-1)
这是一个非常令人难以置信的问题。所以我尝试了一些东西,这里是小提琴
$(".select_month").on('keyup',function(event){
if(event.keyCode>=48&&event.keyCode<=57) {
var index;
var fentry;
if($(this).hasClass('firstkey')) {
index = 10+event.keyCode-48;
} else {
$(this).addClass('firstkey');
index = event.keyCode-48;
}
$(".select_month option[value=" + index +"]").addClass("selectedmonth");
setTimeout(function() {
$(".selectedmonth").prop('selected', true);
$('.firstkey').removeClass('firstkey');
$('.selectedmonth').removeClass('selectedmonth');
}, 500);
}
});
我确信,你可以做得更优雅(没有课程),但对于第一次拍摄,它可以工作。 关键是,我使用超时功能来接收超过1个键盘输入。
干杯 [R