如何通过searilizedarray()序列化复选框值?

我的问题是如何通过searilizedarray()将复选框值和文本框值一起序列化在一个数组中…

现在我得到这样的东西

[{"name":"text_input","value":"kalpit"}, {"name":"wpc_chkbox[]","value":"Option one"}, {"name":"wpc_chkbox[]","value":"Option two"}, {"name":"wpc_chkboxasdf[]","value":"Option one"}, {"name":"wpc_chkboxasdf[]","value":"Option two"}, {"name":"wpc_inline_chkbox[]","value":"1"}, {"name":"wpc_inline_chkbox[]","value":"2"}, {"name":"wpc_inline_chkbox[]","value":"3"}, {"name":"wpc_radios","value":"Option one"}] 

但应该是这样的

  [{"name":"text_input","value":"kalpit"}, {"name":"wpc_chkbox[]","value":"[Option one,Option Two]"}, {"name":"wpc_chkboxasdf[]","value":"[Option one,Option Two]"}, {"name":"wpc_inline_chkbox[]","value":"[1,2,3]"}, {"name":"wpc_radios","value":"Option one"}] 

我正在使用var form = $('.wpc_contact').serializeArray(); 获取表单数据

这是我的html示例,我使用拖放未来动态生成..

  
Demo
Option one Option two
1 2 3

提前致谢

试试这个:

  var cacheObject = {};//tmp cache for form elements name/values pairs var serArr = $('.wpc_contact').serializeArray(); //set values of elements to cacheObject $.each(serArr, function (arrayIndex,obj) { if (cacheObject[obj.name]) { cacheObject[obj.name].push(obj.value); } else { cacheObject[obj.name] = [obj.value]; } }); //create new serialized array var newSerArr = []; $.each(cacheObject, function (key, value) { var obj = {}; obj[key] = value; newSerArr.push(obj); }); console.log(newSerArr);//looks like serializeArray 

这个使得不同的数组和同名的元素组合在一起。

 var form_data = $(".wpc_contact").serializeArray(); var form_array = {}; //final array where all the values will be stored $.each(form_data, function(i, element) { if(jQuery('input[name="'+element.name+'"]:checked').length>0) { replaced = element.name.replace('[]',''); //removing [] from the input name form_array[replaced]={}; jQuery('input[name="'+element.name+'"]:checked').each(function(j,ind){ form_array[replaced][j] = jQuery(this).val(); }); } else { form_array[element.name] = element.value; } }); console.log(form_array); 

您可以访问:

 alert(form_array['wpc_chkbox'][0]); //no '[]' in the key