jQuery serializeArray() key value pairs

前端 未结 10 1850
無奈伤痛
無奈伤痛 2020-11-28 06:25

I\'m having a bit of trouble serializing a form

10条回答
  •  南笙
    南笙 (楼主)
    2020-11-28 06:53

    Here is my solution which supports radio buttons and multi-select.

    var data = $('#my_form').serializeArray().reduce(function (newData, item) {
        // Treat Arrays
        if (item.name.substring(item.name.length - 2) === '[]') {
            var key = item.name.substring(0, item.name.length);
            if(typeof(newData[key]) === 'undefined') {
                newData[key] = [];
            }
            newData[key].push(item.value);
        } else {
            newData[item.name] = item.value;
        }
        return newData;
    }, {});
    
    console.log(data);
    
    
    
      
      

    Male
    Female

提交回复
热议问题