Я хочу использовать функцию «проверить все» JQuery в форме, подобной этой: http://jetlogs.org/jquery/jquery_select_all.html
Моя проблема заключается в том, что я генерирую свою форму из сценария php, и я не знаю, сколько у меня будет флажков заранее. Я использую соглашение об именах «array», чтобы иметь возможность получить все выбранные флажки в моих данных $ _POST … так что мои флажки выглядят так:
<input type="checkbox" name="items[]" value="<?php echo $id ?>">
но это заявление JQuery не работает:
$("input[@name=items[]]").each(function() { this.checked = checked_status; });
вероятно, потому, что «[]» в конце моих «элементов» испортил объявление JQuery … Я попытался написать @ name = items [] следующим образом: «@ name = items []» и поставить некоторые анти -slash перед [и], поэтому они не считаются специальными символами, но они не работают …
Если кто-то знает решение и хочет поделиться им, было бы здорово !! 🙂
Выбери внутренние скобки с \\
(без пробела) – это должно устранить проблему.
Этот селектор работает для меня:
$('input[name=items\\[\\]]')
Попробуйте использовать
$('input[name="items[]"]')
Нет необходимости использовать @
и использовать "
. Обратите внимание, что внешние кавычки селектора – '
. В противном случае вы можете вызвать ошибку синтаксического анализа.
Прежде всего, ваш атрибут name должен использоваться для установки +1 элементов с тем же именем. Это практически то же самое, что и атрибут id, и должен быть уникальным для каждого элемента, за исключением ссылок, но это не относится к вам.
Попробуйте использовать атрибут class, это сделано для вещей, которые вы хотите сделать!
другое дело в том, что в вашем коде вы можете установить флажки только «проверены», но никогда не снимать галочку, этот код установит флажки в true или false, в соответствии с тем, что он получает как атрибут от элемента clicked.
вы можете сделать что-то вроде этого:
установите флажок check all с идентификатором
<input type="checkbox" id="checkAll">
Затем установите для всех флажков, которые должны быть проверены / сняты флажки класса
<input type="checkbox" class="checked">
И вы можете сделать что-то подобное в jQuery
$("#checkAll").click( function(){ var checkedValue = $(this).attr("checked"); $("input.checked").attr("checked", checkedValue); });
это изменит все флажки с проверенным классом на тот же проверенный атрибут, что и с идентификатором checkAll
$("input[name='smsid[]']")
Этот код отлично подходит для меня …