Jquery 格式化表单数据/遍历动态创建的字段集

Jquery 格式化表单数据/遍历动态创建的字段集,jquery,forms,api,Jquery,Forms,Api,问题:我不知道如何根据API的需要格式化表单数据 问题:我请求你的帮助:) HTML: 我需要提交的最终数组的格式如下: 方法=提交国家和捐赠者=弗雷德和捐赠者城市=纳什维尔和捐赠者州=TN和捐赠=[{捐赠国家:非洲,苹果:500,香蕉:300,梨:200},{捐赠国家:使用,苹果:300,香蕉:150,梨:400},{捐赠国家:中国,苹果:400,香蕉:320,梨:450}]谢天谢地,最后。。。。我想出来了。希望这能帮助其他人: $('#donation').delegate('button'

问题:我不知道如何根据API的需要格式化表单数据

问题:我请求你的帮助:)

HTML:

我需要提交的最终数组的格式如下:
方法=提交国家和捐赠者=弗雷德和捐赠者城市=纳什维尔和捐赠者州=TN和捐赠=[{捐赠国家:非洲,苹果:500,香蕉:300,梨:200},{捐赠国家:使用,苹果:300,香蕉:150,梨:400},{捐赠国家:中国,苹果:400,香蕉:320,梨:450}]

谢天谢地,最后。。。。我想出来了。希望这能帮助其他人:

$('#donation').delegate('button', 'click', function(e) {
e.preventDefault();
var FORMDATA = {
    method: $('#donation').find('input[name=method]').val(),
    donor: $('#donation').find('input[name=donor]').val(),
    donor_city: $('#donation').find('input[name=donor_city]').val(),
    donor_state: $('#donation').find('input[name=donor_state]').val()
};
FORMDATA.donations = [];
var fieldsets = $('#donation').find('fieldset');
for(var f = 0; f < fieldsets.length - 1; f++) {
    var fieldset = $(fieldsets[f]);
    var inputs = fieldset.find(':input');
    var data = {};
    for(var i = 0; i < inputs.length; i++) {
        data[$(inputs[i]).attr('name')] = $(inputs[i]).val();
    }
    FORMDATA.donations.push(data);
}
$.get('url/', JSON.stringify(FORMDATA), function(data, textStatus, jqXHR) {
    if (//Errors) {
        //handle errors
    }
    //do stuff with returnObject
});
$('#捐赠')。委托('button','click',函数(e){
e、 预防默认值();
var FORMDATA={
方法:$(“#捐赠”).find('input[name=method]')。val(),
捐赠者:$(“#捐赠”).find('input[name=donator]')。val(),
捐赠者城市:$(“#捐赠”).find('input[name=捐赠者城市]).val(),
捐赠者_状态:$('#捐赠').find('input[name=捐赠者_状态]).val()
};
FORMDATA.com=[];
var fieldset=$(“#捐赠”).find('fieldset');
对于(var f=0;f
$('#donation').delegate('select', 'change', function(event) {
    var self = $(event.target),
    insertHere = $(self).parents('fieldset');
    $('#donation')
        .find('fieldset')
        .first()
        .clone()
        .insertAfter($(insertHere));
});

$('#donation').delegate('button', 'click', function(e) {
    e.preventDefault();
    $('#donation').find('fieldset').each(function() {
        //serializeArray() or something to go here but i can't figure it out
    });
});
$('#donation').delegate('button', 'click', function(e) {
e.preventDefault();
var FORMDATA = {
    method: $('#donation').find('input[name=method]').val(),
    donor: $('#donation').find('input[name=donor]').val(),
    donor_city: $('#donation').find('input[name=donor_city]').val(),
    donor_state: $('#donation').find('input[name=donor_state]').val()
};
FORMDATA.donations = [];
var fieldsets = $('#donation').find('fieldset');
for(var f = 0; f < fieldsets.length - 1; f++) {
    var fieldset = $(fieldsets[f]);
    var inputs = fieldset.find(':input');
    var data = {};
    for(var i = 0; i < inputs.length; i++) {
        data[$(inputs[i]).attr('name')] = $(inputs[i]).val();
    }
    FORMDATA.donations.push(data);
}
$.get('url/', JSON.stringify(FORMDATA), function(data, textStatus, jqXHR) {
    if (//Errors) {
        //handle errors
    }
    //do stuff with returnObject
});