我有一個表單,我想獲取他的所有值,并將它們轉換為 json 物件。
問題是我沒有得到多選欄位,只有一個欄位。這是我的代碼我缺少什么?
let reportDropDowns = $('#getReport').serialize();
reportDropDowns = decodeURI(reportDropDowns);
let reportDropDownsJson = {};
reportDropDownsJson = JSON.parse('{"' reportDropDowns.replace(/&/g, '","').replace(/=/g,'":"') '"}', function(key, value) { return key===""?value:decodeURIComponent(value) });
這是我的html

uj5u.com熱心網友回復:
與其直接通過 序列化資料.serialize(),不如使用.serializeArray()以陣列形式獲取資料。然后,您可以將陣列操作為物件/JSON。試試這個
let reportDropDownsJson = {};
$('#getReport').serializeArray().forEach(({name, value}) => {
if( reportDropDownsJson.hasOwnProperty(name) ){
if( !Array.isArray(reportDropDownsJson[name]) ){
reportDropDownsJson[name] = [reportDropDownsJson[name]];
}
reportDropDownsJson[name].push(value);
}else{
reportDropDownsJson[name] = value;
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/425080.html
標籤:javascript jQuery json
上一篇:更改類后嘗試重新加載DIV內容
