アイテムの長さに基づいてフォーカスを変更しています。私が抱えている問題は、入力の値が選択されていない次の入力に行くときです。これは問題を引き起こします。日付を編集して現在の日付が'12/10/2011 'である場合は、月(ハイライト12)を選択して' 12112011 'と入力する必要がありますが、フォーカスは月から日になるカテゴリはカーソルが数字の後ろにあり、素早く入力すると年カテゴリにスキップするか、ゆっくりと数字の後ろにカーソルを置きます。私は関数に遅延を組み込みましたが、それは年のカテゴリにスキップする問題を解決しますが、それらを選択する代わりに値の後ろにカーソルを残してしまいます。つまり、「12 + backspace + backspace + 11 + backspace + backspace ++ backspace + backspace + 2011」と入力する必要があります。フォーカスで現在の入力値が選択されていません
この問題については理論的にすべての値が解決されています。私はこれをうまく説明していないかもしれないが、恐れていないことを知っている、jsfidlleも救助である。
あなたはそれがここに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>
うん、私はそれはそれと同じくらい簡単だと思います。選択は焦点の一部ではありませんか? –
ちょうど...ええと....それとあなたは知っているだろう。 –
助けてくれてありがとう。 –