jQuery .find необходимо убедиться, что оба требования выполнены, прежде чем продолжить использование tab через

#javascript #jquery #forms

#javascript #jquery #формы

Вопрос:

Итак, я пытаюсь использовать табуляцию между полями ввода и выбирать поля в скользящей форме. Однако в имеющемся у меня коде он пропускает последнее поле ввода в текущем разделе формы или последнее поле выбора в текущем разделе формы, независимо от того, есть ли поле выбора или ввода соответственно впоследствии. Мне нужна вкладка, чтобы убедиться, что после последнего поля ввода нет полей выбора и наоборот. Это код, который у меня есть до сих пор:

 $(this).find('input:last,select:last').bind('keydown',function(e){
  

Но мне нужно, чтобы функционировать более подобным образом:

 $(this).find('input:last amp;amp; select:last').bind('keydown',function(e){
  

Но приведенный выше код невозможен. Есть идеи?

Комментарии:

1. @будет ли выбранный ответ работать для того, что мне было нужно. Спасибо.

Ответ №1:

Вместо использования :last селектора вам нужно использовать .last() метод:

 $(this).find('input, select').last().bind('keydown',function(e){
  

Ссылка для изучения: .last()

Комментарии:

1. @N 1 для справки. Спасибо за помощь!

Ответ №2:

Если я правильно понимаю, возможно, будут работать jQuery :input , а не каждый в отдельности?

 $(this).find(':input:last').bind('keydown', function(e) {
  

Ответ №3:

Попробуйте вместо этого использовать .add() метод.

 var $lastInput = $(this).find('input:last');
$lastInput.add($(this).find('select:last').bind('keydown', function(e) {