2

HTML

<input class="fr pinPass" type="password" name="pin1" id="pin1_1" tabindex="100"/>
<label>Enter the third number</label>

<br class="cb"/>

<input class="fr pinPass" type="password" name="pin1" id="pin1_2" tabindex="101"/>
<label>Enter the fourth number</label>                                      
<br class="cb"/>

<input class="fr pinPass" type="password" name="pin1" id="pin1_3" tabindex="102"/>  
<label>Enter the second number</label>

現在のjQuery

$(".pinPass").focus(function () {
    $(this).keyup(function(){
         $("input").siblings('.pinPass').filter(':first').focus();              
    });
});

問題:

各入力フィールドのkeyUpの後の次の入力フィールドにautoFocusを設定しようとしています。これまでのところ、最後に選択されたフィルターに到達するまでループを続けるソリューションを考え出しました。または、:firstフィルターを使用すると、ページで最初に見つかったフィルターに常に戻ります。

next()はセット内の次のノードではないため、使用できないと思います。各入力フィールドを区切るラベルが常にあります。

どんな助けでも大歓迎です。

4

2 に答える 2

4

を使用できます:firstが、セレクターに一致する場合、次の兄弟.next()のみが返されます。代わりに、次のようにセレクターを使用します。.nextAll()

$(".pinPass").keyup(function(){
  $(this).nextAll('.pinPass:first').focus();
});

ここでテストできます

于 2010-11-01T14:39:56.647 に答える
0

Next にもセレクターを含めることができます。

$(this).next('input');
于 2010-11-01T14:12:13.670 に答える