JS выберите вход по типу и имени

0

У меня есть эта разметка HTML:

<input type="text" name="name1" class="stat" value="">
<input type="checkbox" name="name1" value="">

<input type="text" name="name2" class="stat" value="">
<input type="checkbox" name="name2" value="">

<input type="text" name="namei" class="stat" value="">
<input type="checkbox" name="namei" value="">

where i = 1,2,3, ... n

В: Как установить флажок с именем2?

Правильно ли это?

$('input[name="name2"]').find('input[type="checkbox"]').attr("disabled");
  • 0
    попробуйте ввести [name = "nam2"] [type = "checkbox"].
  • 0
    $ ('input [name = "name2"]'). find найдет выходные данные, на самом деле $ ('input [name = "name2"]'). filter (..) в порядке
Показать ещё 4 комментария
Теги:
checkbox

2 ответа

2
Лучший ответ

Вы можете использовать несколько селекторов атрибутов одновременно. Ваша find не будет работать, потому что checkbox является родным текстом input текста, а не дочерним. Попробуй это:

$('input[name="name2"][type="checkbox"]').prop("disabled");

Обратите внимание, что это будет очень медленным в производительности. Лучшим решением является использование атрибута class или id в самом флажке и выбор по нему. Кроме того, вы должны использовать prop для извлечения свойств элемента.

Наконец, если вы хотите установить disabled свойство, вам необходимо предоставить второй параметр методу prop:

$('input[name="name2"][type="checkbox"]').prop("disabled", true); // disables the element
1

find() выбирает элементы, спускающиеся с совпадающего элемента.

Здесь флажки и поля ввода - это братья и сестры.

Пытаться:

$('input[type="text"][name="name2"]').next().attr("disabled","disabled");

ИЛИ

$('input[type="checkbox"][name="name2"]').attr("disabled","disabled");
  • 1
    @RoryMcCrossan спасибо. отредактированный ответ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню