0
我發現SO上的這個很棒的函數來序列化表單(修改了一下)。SerializeArray使用jQuery作爲json選擇多個
function getFormData($form){
var unindexed_array = $form.serializeArray();
for(var i in unindexed_array) {
if(unindexed_array.hasOwnProperty(i)) {
$('[name="'+unindexed_array[i]['name']+'"][value="'+unindexed_array[i]['value']+'"]').each(function() {
$(this).attr('checked', true);
})
}
}
var indexed_array = {};
$.map(unindexed_array, function(n, i){
if($.trim(n['value']).length)
indexed_array[n['name']] = n['value'];
});
return (!$.isEmptyObject(indexed_array) ? JSON.stringify(indexed_array, null, 2) : '');
}
這很適合輸入。不幸的是沒有多個選擇。 在這裏找到工作小提琴:https://jsfiddle.net/t_book/00fyufde/
如果我輸入和選擇
- 動物:狗
- 植物:樹
- 汽車:薩博+沃爾沃
它導致:
{ "first": "dog", "second": "tree", "cars[]": "saab" }
如何更改功能以尊重多重選擇。在這種情況下,「薩博」和「沃爾沃」出現在JSON中。
謝謝!