Я хочу использовать JQuery, "проверяют всю" функцию в форму как это: http://jetlogs.org/jquery/jquery_select_all.html
Моя проблема, я генерирую свою форму из сценария PHP, и я не знаю точно, сколько флажков я буду иметь заранее. Я использую соглашение о присвоении имен "массива" быть в состоянии получить все выбранные значения флажка в моем $ _POST данные..., таким образом, мои флажки похожи на это:
но это объявление JQuery не работает:
$("input[@name=items[]]").each(function()
{
this.checked = checked_status;
});
вероятно, потому что" []" в конце моих "объектов" портит объявление JQuery... Я пытался записать @name=items [] как этот: "@name=items []", и помещать некоторую антинаклонную черту перед [и] таким образом, их не рассматривают как специальные символы, но это не работало...
Если бы кто-то знает решение и готов совместно использовать, это было бы большим!!:)
Выведите внутренние скобки с помощью \\\
(без пробела) - это должно решить проблему.
Этот селектор работает для меня:
$('input[name=items\\[\\]]')
сериализация имеет отношение к преобразованию двоичного объекта в XML (или другое строковое) представление, так что он может быть сохранен в базе данных/файле или отправлен по сети в вызове веб-службы. Десериализация - это обратный процесс - преобразование XML/строки обратно в объект.
-121--2511255-Ознакомьтесь с документацией MSDN для метода Debug.Assert . В частности, в разделе «Примечания» объясняется, как можно отключить пользовательский интерфейс:
<configuration>
<system.diagnostics>
<assert assertuienabled="false" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
Поэтому я бы предложил, чтобы файл конфигурации приложения имел это значение по умолчанию, и ваш коллега переключает Assert на пользовательский интерфейс всякий раз, когда он считает это полезным.
-121--3677613-Попробуйте использовать
$('input[name="items[]"]')
Нет необходимости для @
и используйте "
. Следует отметить, что внешними кавычками селектора являются '
. В противном случае может возникнуть ошибка синтаксического анализа.
Прежде всего, ваш атрибут name должен использоваться для установки +1 элементов с тем же именем. Он практически такой же, как атрибут id, и должен быть уникальным для каждого элемента, за исключением ссылок, но это не относится к вам.
Попробуйте использовать атрибут class, он создан для того, что вы хотите делать!
еще одна вещь заключается в том, что в вашем коде вы можете установить только флажки как «проверено», но никогда не снимать флажки, этот код установит для ваших флажков значение «проверено» - «истина» или «ложь», в зависимости от того, что он получает в качестве атрибута из элемента, по которому щелкнули .
вы можете сделать что-то вроде этого:
установите для флажка отметку все с идентификатором
<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