jQuery serialize не регистрирует флажки - PullRequest
70 голосов
/ 12 июня 2010

Я использую jQuery.serialize для извлечения всех полей данных в форме.

Моя проблема заключается в том, что он не возвращает флажки, которые не отмечены.

Он включает в себя следующее:

<input type="checkbox" id="event_allDay" name="event_allDay" class="checkbox" checked="checked" />

но не это

<input type="checkbox" id="event_allDay" name="event_allDay" class="checkbox" />

Как я могу получить "значения" флажков, которые не отмечены?

Ответы [ 24 ]

0 голосов
/ 30 ноября 2016

Выкладываю решение, которое у меня сработало!

var form = $('#checkboxList input[type="checkbox"]').map(function() {
               return { name: this.name, value: this.checked ? this.value : "false" };
            }).get();

var data = JSON.stringify(form);

data value is : "[{"name":"cb1","value":"false"},{"name":"cb2","value":"true"},{"name":"cb3","value":"false"},{"name":"cb4","value":"true"}]"
0 голосов
/ 24 июня 2011

иногда непроверенный означает, что другие значения, например проверенный, может означать да, непроверенный нет или 0,1 и т. Д., Это зависит от значения, которое вы хотите дать ... так что может быть другое состояние, кроме "непроверенный означает, что его вообще нет в строке запроса"

«Было бы намного проще хранить информацию в БД. Потому что тогда количество полей из Serialize будет равно количеству полей в таблице. Теперь я должен указать, какие из них отсутствуют», вы правыэто тоже моя проблема ... так что, похоже, я должен проверить это несуществующее значение ....

, но, возможно, это может быть решением?http://tdanemar.wordpress.com/2010/08/24/jquery-serialize-method-and-checkboxes/

0 голосов
/ 24 сентября 2012

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

$ (': input [type = "checkbox"]: флажок'). Map (function () {return this.value}). Get ();

0 голосов
/ 06 июля 2013

просто добавьте скрытый ввод

<input type="hidden" name="your_specific_name">

не нуждается в значении, я проверил это работает для меня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...