いくつかの jQuery で少し問題が発生しました。上下の矢印を使用して列をトラバースする、Excel のナビゲーション方法と同様のデータ入力グリッドを実装しようとしています。次のように、ロード時に実行されて各テキスト ボックスに rel 属性と一意の ID を割り当てるスクリプトがあります。
id="gScore_0" class="gScoreTB" rel=0
id="gScore_1" class="gScoreTB" rel=1
id="gScore_2" class="gScoreTB" rel=2
...などなど。次に、次のハンドラーがあります。
$('.gScoreTB').keydown(function (e) {
var keyCode = e.keyCode || e.which,
arrow = { left: 37, up: 38, right: 39, down: 40 };
switch (keyCode) {
case arrow.up:
var str = $(this).attr('rel');
str = parseInt(str) - 1;
$("#gScore_" + str).focus();
break;
case arrow.down:
//Set focus to the same cell next row
var str = $(this).attr('rel');
str = parseInt(str) + 1;
$("#gScore_" + str).focus();
break;
}
});
理論は、関数がIDから1を加算/減算し、そのテキストボックスにフォーカスを設定するというものです。これはすべて素晴らしい銃で機能します。
問題は、フォーカスを変更し、ボックス内のテキストをすべて選択したいということです。.select()
に加えて、テキストボックスで使用するさまざまな組み合わせを試しました.focus()
が、それは起こっていません。イベントと関係があるのではないかと思いますが、私は jQuery の天才ではありません。助けてください!ありがとう
PS もし誰かが私がやったことをばかげていると思うなら、私は常に批判/改善を求めています:-)