jquery, установите фокус на первом включенном входе или выберите или текстовое поле на странице - PullRequest
34 голосов
/ 01 декабря 2010

Это довольно просто.Я хочу установить фокус на первый включенный, а не скрытый элемент управления на странице.

Для текстового поля у меня есть

$("input[type='text']:visible:enabled:first").focus();

Но я хочу получить «все» элементы управления вводом формы:текстовое поле, флажок, текстовое поле, раскрывающийся список, радио в моем селекторе, чтобы получить первый включенный и не скрытый элемент управления.Есть предложения?

Ответы [ 4 ]

73 голосов
/ 01 декабря 2010
$(':input:enabled:visible:first').focus();
10 голосов
/ 14 января 2015

Как продолжение ответа Джордана

$(':input:enabled:visible:not([readonly]):first').focus();

Это также исключает входные данные только для чтения

5 голосов
/ 19 мая 2012

Это немного более подробно:

$('form :input:text:visible:not(input[class*=filter]):first').focus();

Ламен: сфокусируйте курсор на первом вводе текста в видимой форме, но если он использует класс с именем «filter», игнорируйте его!

3 голосов
/ 01 декабря 2010

Попробуйте это:

$("input[type='text']:enabled","another selector","another selector").first().focus();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...