帮助jQuery在keyUp之后自动聚焦到下一个输入字段,尽可能通用

帮助jQuery在keyUp之后自动聚焦到下一个输入字段,尽可能通用,jquery,next,siblings,Jquery,Next,Siblings,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="10

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>
问题是:

在每个输入字段中键入后,我尝试在下一个输入字段上设置自动对焦。 到目前为止,我;我想出了一个解决方案,它会一直循环,直到最后一个被选中为止,或者如果我使用:first过滤器,它总是返回到它在页面上找到的第一个过滤器

我认为我不能使用next(),因为它不是集合中的下一个节点。 始终会有标签分隔每个输入字段


任何帮助都将不胜感激。

下一步也可以使用选择器

$(this).next('input');
您可以使用,但仅当它与选择器匹配时才会返回下一个同级。相反,您需要一个选择器,如下所示:

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

.

你有没有试过下一步?只要输入有指定的选择器,就应该有任何问题。PinPass如果我错了请纠正我,但我认为同名元素应该像这样添加为aray
name=“pin1[]”
Magic。我几分钟前才读到关于nextAll的消息!我知道next()不起作用,并且nextAll存在循环问题,但是nextAll和第一个过滤器的组合起到了很好的效果。干杯
$(".pinPass").keyup(function(){
  $(this).nextAll('.pinPass:first').focus();
});