2012-03-06 10 views
29

ない要素からjQueryのは、私がすべてシリアライズしたいと思います...私はこれが可能であるかどうかについての具体的な答えを見つけることができますが、それがあるべきようにそれはそうフォーム

を/ serializeArrayをシリアライズdivに含まれる入力要素。私は別のフォームの中にネストされているので、私はフォームを使用することはできません。私は値を取得し、それらをajax経由で投稿します。私は期待どおりに動作するにルートを変更した場合

http://jsfiddle.net/9uyz5/

は、ここで私は一緒に遊んでいjsFiddleの一例です。

ありがとうございました。

は、私は、この他の質問からjsfiddleを変更した:

https://stackoverflow.com/a/1186309/25020

+0

私はあなたの質問にブログの回答を書いています。 dom要素をシリアライズする方法は次のとおりです。また、データベースに挿入するJSON文字列を作成する方法についても説明しました。http://onwebdev.blogspot.com/2012/03/jquery-serialize-elements-outside-forms.html –

+0

[jquery div内の要素のみをシリアライズする](http://stackoverflow.com/questions/1829519/jquery-to-serialize-only-elements-within-a-div) – showdev

答えて

49

はあなたのコンテナではなく、実際のコンテナ自身の内部ですべての入力をシリアル化する必要があります。そう:

$('div :input').serialize() 
+0

好奇心の念から、 $( '#myForm')。serialize()は動作しますか? –

+3

少し遅れてしまいましたが、 '$( '#myForm')。serialize()'はフォームのすべての要素をシリアライズするように設計されているため** ** ** **入力要素のjQuery配列です。 [ドキュメントに記載されている](http://api.jquery.com/serialize/) – Liam

3

これはまた、それが通じ横断していないとして、これは、より効率的な方法になりますボタンでのdivの内容をシリアル化するために

$('div :input').serializeArray() 

:)

1

で動作しますdom全体。

$(this).closest('div').find("input,select").serialize();

ボタンイベントでこれを添付し、divのは、その中であれば、それは主フォームを送信しないようにボタンでevent.preventdefaultを含めるようにしてくださいしてください。

6

これを試してみてください。

$('#divID *').serialize() 
関連する問題