使用keycontrols更改日期

时间:2016-12-05 08:30:01

标签: javascript jquery jquery-ui telerik

您好我有一个关于使用键盘上的箭头键更改日期的问题(键代码37,38,39,40)。

如果你看一下这个例子:DatePicker from Telerik他们已经建立了一个非常好的功能,我想知道是否也可以用例如jQuery UI Datepicker小部件来实现。

我知道DatePicker用户界面没有提供任何此类实现,但我想知道是否有人可以引导我进入我可以扩展当前功能的方向?任何想法总能帮助!!

1 个答案:

答案 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对象处理日期可能是个好主意。我会接受它。