您好我有一个关于使用键盘上的箭头键更改日期的问题(键代码37,38,39,40)。
如果你看一下这个例子:DatePicker from Telerik他们已经建立了一个非常好的功能,我想知道是否也可以用例如jQuery UI Datepicker小部件来实现。
我知道DatePicker用户界面没有提供任何此类实现,但我想知道是否有人可以引导我进入我可以扩展当前功能的方向?任何想法总能帮助!!
答案 0 :(得分:1)
有趣的想法!看看我刚刚开始的JsFiddle。
现在 部分有效 。我需要解决的第一件事是我没有检查限制(2月30日甚至2月0日或-1不存在且我没有检查)。
另一件事是添加" 0"如果值是< 10,所以现在的输出日期是" 5 / 12/2016"它应该在哪里" 05 / 12/2016"。这不会打破"什么,但我认为会更好。
稍微解释一下jsFiddle
使用$("#datepicker-1").on('keydown'...
来处理keydown
事件。
在其中,使用this.selectionStart;
检查input
内的光标位置。
当用户按下向上或向下键时,为了避免一直到开始或结束,请使用:
switch(e.keyCode){
case 38:
e.preventDefault();
...
case 40:
e.preventDefault();
...
此外,在退出事件处理函数之前执行此操作。否则,当按向上或向下键时,光标将移至input
的末尾。
this.selectionStart = currentPosition;
this.selectionEnd = currentPosition;
我还在努力。至少现在,它非常简单,但是你要求提供指南,方向或想法,所以我认为这对你有用,只是为了至少玩一点。
P.S。用javascript Date对象处理日期可能是个好主意。我会接受它。