首页 > 解决方案 > 查找下一个输入

问题描述

在填写第一个输入后,我需要获取下一个输入以将光标放在它上面。请帮助,如果不困难的话!

jQuery:

$('input').keyup(function(){
  if($(this).val().match(/^\d{1}$/)){
    $(this).next('input').focus();
  }else{
    $(this).val('');
  }
});

HTML:

<ul id="block">
  <li><span data-tooltip="tooltip">text</span><input type="text"></li>
  <li><span data-tooltip="tooltip1">text1</span><input type="text"></li>
</ul>

标签: jqueryhtmlhtml-lists

解决方案


.next()指的是紧邻(下一个)元素,您的输入并非如此。

相反,请尝试:

if($(this).val().match(/^\d{1}$/)){
  $(this).closest("li").next("li").find("input").focus();
}

.closest("li")向上遍历直到找到一个<li>. 然后我们得到下<li>一个.next()。最后,我们可以挖掘它<li>以供input使用.find("input")


推荐阅读