2016-09-15 9 views
0

フォームフィールドのデータを取得し、2つのdivに割り当てられたクラスを使用してシリアル化できますか?Jquery - DIVのフォームフィールドをクラスごとにシリアル化しますか?

フォームフィールドを含む4つのdivがあり、一度に2つのDIVだけが表示されます。表示される内容は、ドロップダウンの選択によって異なります。

  • select = 1場合、クラスclassOneを持つdiv要素は、ショーやclassTwoとのdivは、クラスclassTwo

  • select = 2場合、divを隠されている

を隠されているショーや classOneとのdivされています

フォームを送信すると、両方のdivをclassOneまたはclassTwoとシリアル化する必要があります。 gをドロップダウンで選択したものに適用します。

これまでのところ、私はそれがdiv要素からフォームの日付をシリアル化するために取得することはできません。..

data: $('.classOne').serializeArray(), 

これは私のバックエンド・スクリプトにデータを渡しません。

答えて

4

これらの要素内のフォームコントロールをターゲットにする必要があります。あなたは

はこれを行うためのもう一つの一般的な方法は、 <fieldset>タグを使用し、アクティブでないものを無効にすることです

DEMO

data: $('.classOne :input').serializeArray() 
様々な制御タグとタイプをカバーするために、擬似セレクタ :inputを使用することができます。フィールドセットを無効にすると、無効なコントロールが含まれていないため、フォーム全体で serialize()を効果的に使用できるようになります。

+0

ありがとうございます - 入力フィールドを無効にしますか? – Tom

+0

ありがとうございます - 私はfieldsetsを使用しており、それはうまくいくようです:) – Tom

1

serializeArray()有効な入力フィールドデータがすべて返されます。 serializeArray()が返されないようにする入力フィールドを無効にする必要があります。

ドロップダウンを選択した場合、attributeinputフィールドをdisabledに設定します。

入力フィールドに無効にするには:

$(input).attr('disabled','disabled')を。

クラスのclassTwo 'とセレクト= 2、div要素は、ショーとのdivであればクラスのclassOne'と選択= 1、div要素は隠されている「classTwo」とdisabled

とショーとのdivである場合'classOne'が隠されています。disabled

関連する問題