2014-11-14 4 views
2

Я пытаюсь сериализации два входа типа флажка, но я не подвожу ничего, я не уверен, что если есть проблема с моим кодомSerialize два флажка в JQuery

<input class="CheckBox" id="Refs" value="13" type="checkbox"> 
<input class="CheckBox" id="Refs" value="14" type="checkbox"> 

и делать что-то вроде

$(".CheckBox:checked").serialize(); 

возвращает нулевое значение

но

$(".CheckBox:checked").val(); 

проверено первым флажок Знаете ли вы, как это сделать?

+0

Почему вам нужно ': checked' селектор? Возможно, удалите эту часть селектора. –

+2

Идентификаторы уникальны, у вас не должно быть нескольких элементов с одинаковым идентификатором. –

ответ

1

Элементы формы должны иметь атрибут name как .serialize() 'd, так как атрибут name - это то, что используется в качестве ключа пары во время сериализации.

Также обратите внимание, что id должен быть уникальным в пределах документа:

<input name="a" class="CheckBox" id="Refs_a" value="13" type="checkbox"> 
<input name="b" class="CheckBox" id="Refs_b" value="14" type="checkbox"> 

Кроме того, селектор :checked псевдо является не обязательны, так как не-проверено флажков не будет сериализовать все равно - что бы победить пункт флажка.

$(".CheckBox").serialize(); 

JSFiddle

+1

@ user3536548 I * есть * включенный соответствующий код ... – George

+0

Извините, но это не сработало –

+0

@JackM Смотрите мои *** рабочие *** [JSFiddle] (http://jsfiddle.net/9pe1f1sf/ 2 /). Как ваш код отличается от того, что находится в этой скрипке? Является ли голосование от вас? – George