2011-12-16 9 views
0

アイテムの長さに基づいてフォーカスを変更しています。私が抱えている問題は、入力の値が選択されていない次の入力に行くときです。これは問題を引き起こします。日付を編集して現在の日付が'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

はselect()関数を使用してください。

試してみてください。

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

+0

うん、私はそれはそれと同じくらい簡単だと思います。選択は焦点の一部ではありませんか? –

+0

ちょうど...ええと....それとあなたは知っているだろう。 –

+0

助けてくれてありがとう。 –