Найти следующий вход - PullRequest
       9

Найти следующий вход

0 голосов
/ 30 июня 2019

Мне нужно получить следующий ввод, чтобы навести на него курсор после заполнения первого ввода.Помогите, пожалуйста, если не сложно!

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>

1 Ответ

2 голосов
/ 30 июня 2019

.next() относится к непосредственно смежному (следующему) элементу, который не соответствует вашим входам.

Вместо этого попробуйте:

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

.closest("li") перемещается вверх, пока не найдет <li>. Затем мы получаем следующее <li> с .next(). Наконец, мы можем найти это <li> для input, используя .find("input")

...