Как мне переместить фокус на следующий ввод с помощью jQuery? - PullRequest
48 голосов
/ 16 марта 2010

Я использую плагин автозаполнения с jQuery, и он работает нормально. Однако в IE, когда пользователь выбирает элемент в автозаполнении, фокус не перемещается в следующее поле ввода. Естественно, это работает в Firefox. Плагин не имеет встроенного решения, но предоставляет «опции». Есть ли способ заставить его перейти к следующему полю ввода?

Ответы [ 15 ]

0 голосов
/ 21 июля 2017
onchange="$('select')[$('select').index(this)+1].focus()"

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

0 голосов
/ 11 мая 2015
var inputs = $('input, select, textarea').keypress(function (e) {
  if (e.which == 13) {
    e.preventDefault();
    var nextInput = inputs.get(inputs.index(this) + 1);
    if (nextInput) {
      nextInput.focus();
    }
  }
});
0 голосов
/ 05 апреля 2014

Вот что сработало в моем случае. Может быть менее интенсивным производительность.

$('#myelement').siblings('input').first().focus();
0 голосов
/ 18 марта 2014

Самый простой способ - удалить его из индекса вкладки вместе:

$('#control').find('input[readonly]').each(function () {
    $(this).attr('tabindex', '-1');
});

Я уже использую это на нескольких формах.

0 голосов
/ 03 января 2013

если вы используете в скрипте event.preventDefault (), закомментируйте его, потому что IE это не нравится

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...