次のような入力フィールドを持つフォームがあります。
<form "data-qustion_form"=true>
<input name="question[description]" value="quesd">
<input name="question[answers][0][description]" value="ansd1">
<input name="question[answers][1][description]" value="ansd2">
</form>
https://github.com/marioizquierdo/jquery.serializeJSONを使用してフォームデータをjsonに変換しています。また、https://stackoverflow.com/a/8407771/707636を使用してみました。どちらもうまく機能します。しかし、jsonの配列をループすることはできません。
私はjsをフォローしています
$("[data-question_form]").on("submit", function(e) {
var o = $(this).serializeObject(); // $(this).serializeJSON(); both results same
console.log(o);
console.log(o["question"]);
console.log(o["question"]["answers"]);
$.each(question["answers"], function() {
console.log("print test"); // I don't see this on console in Chrome inspector
}
e.preventDefault();
}
Chromeインスペクターのコンソールでの出力は次のとおりです。
Object {utf8: "✓", question: Object}
Object {description: "quesd", answers: Array[0]}
[1362289041238: Object, 1362289045644: Object]
さらに展開する[1362289041238: Object, 1362289045644: Object]
と、が表示されlength: 0
ます。
この配列を反復処理して、jQueryの各回答の説明を読み取るにはどうすればよいですか?