jquery - Convert form into SearializeObject -
i need generate array keys.
in below field pattern returns keys name-field, row, "".
how generate multidimensional array , save value?
var fixed = [], var pattern = { key: /[a-z0-9_-]+|(?=\[\])/gi } var field = { name: "name-field1[row1][]",value :"10" } var keys = field .name.match(patterns.key), k; //returns name-field, row, "" while ((k = keys.pop()) !== undefined) { if(fixed[key] === undefined) { fixed[key] == [] } var obj = [] obj[k] = pair.value; fixed[key] = obj;// doing wrong saving in "row" key need save in "col" } output:
{ name-field : row1 { [10 , 20 ,30],row2:[20,30,40] } }
i answering own question .
i need convert form objects.
here link of code serialize form objects
var push_obj = []; if (patterns.push.test(keys[(keys.length - 1)])) { $(keys).each(function(i,val) { if(i == (keys.length - 1)) return false; if(jquery.inarray( val, keys ) == 0 ) { if(named[val] === undefined) { return false; } push_obj = named[val]; } else { if(push_obj[val] === undefined) { push_obj = []; return false; } else { push_obj = push_obj[val]; } } }); } keys.reverse(); $(keys).each(function(i,val) { if(patterns.fixed.test(val)){ var obj = []; } else { var obj = {}; } if(jquery.inarray( val, keys ) == 0 ) { if (patterns.push.test(val)) { push_obj.push(pair.value) obj = push_obj; } else { obj[val] = pair.value; } } else { obj[val] = prevobj; } if(jquery.inarray( val, keys ) == (keys.length - 1)) { named = $.extend(true, named, obj); } prevobj = obj });
Comments
Post a Comment