焦点不选择当前输入值

时间:2011-12-16 02:50:01

标签: jquery

我根据它的长度改变了我的项目的焦点。我遇到的问题是当它进入下一个输入时,未选择输入的值。这会导致问题。如果我想编辑一个日期并且当前日期是'12 / 10/2011'我应该能够选择月份(突出显示12)并输入'12112011'但是当我的焦点从一个月到一天时会发生什么如果我快速键入,则光标位于数字后面,或者跳到年份类别,或者如果慢慢地将光标留在数字后面。我在函数中构建了一个延迟,虽然这解决了跳转到年份类别的问题,但它仍然让我将光标置于值后面而不是选择它们。这意味着我必须输入'12 + backspace + backspace + 11 + backspace + backspace ++ backspace + backspace + 2011'

如果在更改焦点时正确选择了值,则理论上可以解决此问题。我知道我可能没有这么好解释但是不要害怕,jsfidlle太拯救了。

http://jsfiddle.net/rJwyE/1/

如果你想在不访问jsfiddle的情况下看到我正在使用的脚本,那就是。

$('.dateSpinMonth').on('keyup', function () {
   if (this.value.length >= 2) {
     $('.dateSpinDay').focus();
   }
});
$('.dateSpinDay').on('keyup', function () {
   if (this.value.length >= 2) {
     $('.dateSpinYear').focus();
   }
});

HTML:

<div>
   <input class="dateSpinMonth" type="text" maxlength="2"/> 
   <span>/</span> 
   <input class="dateSpinDay" type="text" maxlength="2"/> 
   <span>/</span> 
   <input class="dateSpinYear" type="text" maxlength="4"/>  
</div>

1 个答案:

答案 0 :(得分:1)

使用select()函数。

尝试:

http://jsfiddle.net/rJwyE/4/