2011-12-16 122 views
0

我正在改變我的項目的焦點基於它的長度。我遇到的問題是當它進入下一個輸入時,輸入的值未被選中。這會導致問題。如果我想編輯一個日期,並且當前日期是'12/10/2011',我應該可以選擇月份(突出顯示12)並鍵入'12112011',但是當我的注意力從月份變爲日期時會發生什麼類別中,光標位於數字後面,如果快速鍵入,則跳至年份類別;如果緩慢,則將光標留在數字後面。我在函數中建立了一個延遲,雖然這可以解決跳到年份類別的問題,但仍然會將光標放在值的後面,而不是選擇它們。這意味着我必須輸入'12 +退格+退格+ 11 +退格+退格++退格+退格+ 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

使用select()函數。

嘗試:

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

+0

是的,我想這是這麼簡單。選擇不是焦點的一部分呢? – 2011-12-16 02:59:21