フォームには、各フォームがデータベースに個々のアイテムを追加する複数のフォームがあります。すべての商品データを送信する[すべて追加]ボタンもあります。 「jQueryは複数のフォームをシリアル化してJSONとして送信します
products = {
"ProductA": {
"option": ["Option 1"] // only 1 checkbox is checked
},
"ProductB": {
"optionAll": "Option All",
"option": ["Option 1", "Option 2"] // both checkboxes are checked
}
}
私はシリアル化されたデータをマッピングすることで遊んでてきたが、couldn:私は次のようなJSON形式にシリアライズされたフォームデータをポストしようとしている
<button type="submit">All all products</a>
<form>
<input type="hidden" name="Product" value="ProductA" />
<input type="checkbox" name="optionAll" value="Option All" /> Option All
<input type="checkbox" name="option" value="Option 1" checked="checked" /> Option 1
<input type="checkbox" name="option" value="Option 2" /> Option 2
<button type="submit">Add this product"</button>
</form>
<form>
<input type="hidden" name="Product" value="ProductB" />
<input type="checkbox" name="optionAll" value="Option All" /> Option All
<input type="checkbox" name="option" value="Option 1" checked="checked" /> Option 1
<input type="checkbox" name="option" value="Option 2" checked="checked" /> Option 2
<button type="submit">Add this product"</button>
</form>
: 以下の基本的なHTMLを参照してください。上記のようなJSON形式に変換します。
data = $.map($('form').serializeArray(), function(el, i){
var json = {};
???
return json;
});
console.log(data)
あなたのお手伝いをよろしくお願いします。
「簡単な」jQueryの方法と考えることができます。 – gdoron