2012-01-15 16 views
0

私のフォームにはいくつかのテキストボックスがあります。私は彼らのid値を知らない。 Enterキーを押すと、カーソル位置を既存のフィールドから次のフィールドに変更します。
カーソルが初めて異なる位置にあることに注意してください。jQueryを使用したタブの動作

あなたの提案は何ですか?

答えて

2

あなたのマークアップを提供していないので、構造について推測することはできません(例えば、兄弟要素の場合は.next()を使用)。だから、あなたはinputテキストを持っていると仮定、あなたが最後の入力に入力したキーを押すと、最初の入力は、(ループ内で)集中されます

$(document).ready(function() { 

    var inputs = $('input[type="text"]'); 
    var len = inputs.length; 

    inputs.on('keyup', function(evt) { 
     if (evt.keyCode === 13) { 
      var currentInput = inputs.index($(this)); 
      inputs.eq((currentInput < len - 1) 
        ? currentInput + 1 
        : 0).focus(); 

      evt.preventDefault(); 
     } 
    }); 
}); 

(1.7以降jQueryのための)この例を試してみてください。 jsfiddleの例を参照してください:http://jsfiddle.net/8ruDV/

関連する問題