Проблема: я не знаю, как выполнить форматирование данных формы в соответствии с потребностями API.Форматирование данных формы/итерация через динамически создаваемые поля
Вопрос: Я прошу вашей помощи :)
HTML:
<form id="donation">
<fieldset>
<ul>
<li>
<input type="hidden" name="method" value="submitDonations" />
<input type="hidden" name="donor" value="Fred" />
<input type="hidden" name="donor_city" value="Nashville" />
<input type="hidden" name="donor_state" value="TN" />
<select name="donate_country">
<option value="choose_one">Choose One</option>
<option value="africa">Africa</option>
<option value="usa">USA</option>
<option value="china">China</option>
</select>
</li>
<li>
<label for="apples">Apples: </label>
<input type="number" name="apples" />
<label for="bananas">Bananas: </label>
<input type="number" name="bananas" />
<label for="pears">Pears: </label>
<input type="number" name="pears" />
</li>
<li>
<button>Donate</button>
</li>
</ul>
</fieldset>
</form>
JavaScript/JQuery
$('#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
});
});
мне нужен окончательный массив, который будет представлен выглядеть следующим образом/be в таком формате: method = submitDonations & donor = Fred & donor_city = Nashville & donor_state = TN & Пожертвования = [{donate_country: africa, apples: 500, бананы: 300, груши: 200}, {donate_country: use, apples: 300, бананы: 150, груши: 400}, {donate_country: china, apples : 400, бананы: 320, груши: 450}]