BonBonSlick
@BonBonSlick
Vanilla Web Architect

Жиквери $('input') находит только первый checked инпут?

js
let $userType = $('input[name="advancedSearch[userType]"]');
    $(document).on('change', $userType, event => {
        console.log(1);
    });

html
<input type="radio"  name="advancedSearch[userType]" value="1">
<input type="radio"  name="advancedSearch[userType]" value="2">


console
$('input[type=radio][name="advancedSearch[userType]"]');
// output
<input type=​"radio" name=​"advancedSearch[userType]​" value=​"1" checked=​"checked">​


Находит только один елемент когда их два, пологаю поетому только первый раз срабаотывает триггер изменения.

Почему находит только один елемент когда их 2?

По классу, дата атртрибуту не работает так же
$(document).on('change', $('.search-type"]'), event => {

Нативный js работает, находит 2 елемента, хотя ивент по прежнему отрабатывает только на первый
$(document).on('change', document.getElementsByClassName('search-type'), event => {


Вот так опять видит только 1-й елемент

console.log(document.querySelector('input[name="advancedSearch[userType]"]'));
        console.log(document.querySelectorAll('input[name="advancedSearch[userType]"]'));
  • Вопрос задан
  • 101 просмотр
Решения вопроса 3
Vlad_IT
@Vlad_IT Куратор тега jQuery
Front-end разработчик
Уберите пробелы в имени
<input type="radio"  name="advancedSearch[userType]" value="1">
<input type="radio"  name="advancedSearch[userType]" value="2">
Ответ написан
Я вот так и не понял, что Вам нужно получить от кода. Нет в JQuery ничего хитрого в работе с радиокнопками. Вот есть у Вас две радиокнопки, что нужно сделать?
Ответ написан
muzikant777
@muzikant777
PHP/Vue разработчик
Если инпуты добавляются динамически, то так можно попробовать:
$(document).on('change', 'input[name="advancedSearch[userType]"]', function (e) {
  console.log(e);
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Eridani
@Eridani
Мимо проходил
А с чего он найдет их два, если это радиокнопка, а не чекбокс?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы