我有一系列的複選框,我試圖按照名稱對選擇進行分組,並將選擇作爲集合存儲。所以,我之後的最終輸出是這樣的分組複選框選擇
{
'E113': [{'id':'sxk1', value: '19'}, {'id':'sxk22', value: '29'}],
'E013': [{'id':'kxk1', value: '22'}, {'id':'sxk3', value: '15'}]
}
在現實中它不會發生這樣的。它在這些數組周圍添加「」,如果我只選擇一個複選框,則不會將它包裝在數組中。
這裏是我的JS
$(".checkbox").click(function() {
var selectionForm = JSON.stringify($('#form').serializeObject())
console.log(selectionForm)
})
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
,這裏是我的小提琴
https://jsfiddle.net/sghoush1/xLxezzLz/1/
這裏是我有我的標記
<form id="form">
<input type="checkbox" class="checkbox" name="E113" value="{'id':'sxk1', value: '19'}"/>
<input type="checkbox" class="checkbox" name="E113" value="{'id':'sxk22', value: '29'}"/>
<input type="checkbox" class="checkbox" name="E013" value="{'id':'kxk1', value: '22'}"/>
<input type="checkbox" class="checkbox" name="E013" value="{'id':'sxk3', value: '15'}"/>
</form>
我看不到任何小提琴。 –
@ZakariaAcharki - 我忘了補充一下:-) ...只是用它更新了問題。這裏是任何方式https://jsfiddle.net/sghoush1/xLxezzLz/1/ – soum