2013-02-27 47 views
18

すべてのフォーム要素にtabindexを追加したいと思います。フォームはダイナミックで、HTMLに追加することはできません。私はそれを関数として実行したいと思います。同じ名前のラジオボタンが複数ある場合は、それぞれに独自のtabindex値が必要です。ページ上のほとんどのフォーム要素は、SELECT以外のINPUTとして開始します。それをどうやって説明しますか?tabindexを動的に追加する

ループを実行して属性を追加する必要があると思いますか?

var n = 1; 

$('input, select').each(function() {    
    $(this).attr('tabindex', n++); 
}); 

答えて

38

奇妙な質問が、はいそれは基本的な考え方です:

$(":input").each(function (i) { $(this).attr('tabindex', i + 1); }); 

これは、ボタンやテキストエリアなどのすべてを取得するために:inputを使用しています。

+1

なぜ奇妙ですか?一部のブラウザでは、同じグループのラジオボタンを使用してタブすることに問題があります...ありがとうございます。 – santa

+0

タブインデックスは取得されますが、保証された順序で取得されるわけではないので、奇妙です。だから、ラジオボタンをランダムにタブで移動させることができます。 – Brandon

+0

私のHTML構造には向かないでしょうか?私は空想的なレイアウトを持っていません。 – santa

関連する問題