首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在下拉列表中使用键盘选择月份?

如何在下拉列表中使用键盘选择月份?
EN

Stack Overflow用户
提问于 2015-03-16 14:53:02
回答 2查看 83关注 0票数 0

我正在尝试用键盘在下拉列表中选择一个月,比如按1-1月2-2月等等。我试着用javascript获得这个结果……我把它放到九月份,我必须添加什么才能得到完整的结果,这是我的代码……

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是预先选择...Please Help me...THanks的类名

EN

回答 2

Stack Overflow用户

发布于 2015-03-16 15:18:36

首先,你可以通过添加“一月一号”,“二月二号”等等--但是我能理解它是否太难看了。

其次,您忘记了函数中的"event“参数。没有这个,event.keyCode就不可能存在。然后,您必须创建一个超时函数,该函数等待一秒钟以输入另一个字符,例如第一个1,然后是2,以表示12月。如果用户在最后一秒内按下了keyUp,则将其添加到另一个键码中并执行某些操作。

票数 0
EN

Stack Overflow用户

发布于 2015-03-16 15:27:26

这是一个非常有趣的问题。所以我尝试了一些东西,这是小提琴

http://jsfiddle.net/2g53299u/

代码语言:javascript
复制
$(".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); 
    }
});

我敢肯定,你可以做得更优雅(没有类),但在第一次拍摄时,它是有效的。关键是,我使用了一个超时函数来接收多个键盘输入。

干杯R

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

https://stackoverflow.com/questions/29071090

复制
相关文章

相似问题

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