2011-12-14 3 views
1

Я пытаюсь использовать селектор $(':input'), но он не выбирает отключенные, а также скрытые.": вход" не выбирает отключенные входы

$(':input').serialize() 

Хотя форма тег вмещающих все, это просто сериализовать несколько из них, потому что другие части находятся в других дивы, и что, кажется, сломал форму.

Есть ли способ выбрать все входы, включая скрытые и отключенные?

Я знаю, что могу сделать это, выбрав вручную по ID каждого поля, но это не лучший подход к ИМО.

ответ

2

Проблема заключается не в том, что селектор :input не предназначен для отключенных входов, это значит, что метод serialize() не сериализует отключенные входы.

serialize() documentation states;

Примечание: только "successful controls" сериализуются в строку.

Продолжается ссылка на это; Элементы управления, которые отключены, не могут быть успешными..

Скрытые поля ввода должны быть выбраны с помощью селектора :input и сериализованы по методу serialize(); что это показывает JSFiddle; http://jsfiddle.net/H2g6Q/

+0

И как я мог сериализовать их? –

+0

@AntonioLaguna: вам нужно было бы отключить их, сериализовать элементы, а затем снова отключить их. – Matt

+0

Я сделал трюк, и он работает с '' var disabled = $ (': disabled'); disabled.attr ('disabled', false); var data = $ (': input'). Serialize(); disabled.attr ('disabled', true); '' –

Смежные вопросы