2016-11-24 4 views
-2

На данный момент у меня есть список блоков выбора с входами, и я хотел бы сохранить значения в объекте при отправке формы, что-то вроде этого? Как я могу это сделать?Сохранение значений полей в объекте

var commissions = { 
    seller:"Agent", 
    percentage:"50" 
}, 
{ 
    seller:"Crisalix Global", 
    percentage:"20" 
}, 
{ 
    seller:"Support", 
    percentage:"30" 
}; 

Это HTML:

<div class="container-seller-commission"> 
    <div class="row-seller-commission"> 
    <select name="seller" id="seller" class="select-seller valid"> 
     <option value=""></option> 
     <option value="4" selected="selected">Agent</option> 
     <option value="2">Crisalix Global</option> 
     <option value="1">Owner</option> 
     <option value="3">Support</option> 
    </select> 
<input name="percentage" id="percentage" value="100" class="sales-form-input--number sales-form-input--commission valid" type="number"> 
    </div> 
</div> 
<div class="row-seller-commission"> 
    <select name="seller" id="seller" class="select-seller valid"> 
    <option value=""></option> 
    <option value="4" disabled="disabled">Agent</option> 
    <option value="2" selected="selected">Crisalix Global</option> 
    <option value="1">Owner</option> 
    <option value="3">Support</option> 
    </select> 
<input name="percentage" id="percentage" value="100" class="sales-form-input--number sales-form-input--commission valid" type="number"> 
</div> 
<div class="row-seller-commission"> 
    <select name="seller" id="seller" class="select-seller valid"> 
    <option value=""></option> 
    <option value="4" disabled="disabled">Agent</option> 
    <option value="2">Crisalix Global</option> 
    <option value="1" selected="selected">Owner</option> 
    <option value="3" disabled="disabled">Support</option> 
    </select> 
<input name="percentage" id="percentage" value="100" class="sales-form-input--number sales-form-input--commission valid" type="number"> 
</div> 
+0

В чем именно вы застряли? – Liam

+0

Как сохранить все значения в объекте, как указано в вопросе. Спасибо – user1937021

+0

Aside - ID должен быть уникальным для всех ваших вариантов, и все входы имеют одинаковый идентификатор ... что может привести вас к проблемам с кодом JS – DaniP

ответ

1

Прежде всего, ваш HTML, безусловно, недопустимо. Ни один из двух элементов не должен иметь один и тот же идентификатор на странице HTML. Он не соответствует стандартам. Вам нужно использовать что-то другое, например. Атрибуты HTML5, классы CSS и т. Д. Для такого кода.

Приходя к решению вашей проблемы, это может быть сделано подобное следующему (при условии, что кнопка генерирует список деталей):

$("#submit").click(function() { 
    var commissions = []; 

    $(".row-seller-commission").each(function() { 
    var seller = $(this).find("select[name=seller] option:selected").text(), 
     percentage = $(this).find("input[name=percentage]").val(); 

    commissions.push({ 
     seller: seller, 
     percentage: percentage 
    }); 
    }); 

    console.log(commissions); 
}); 

commissions будет содержать результат, в соответствии с вашими потребностями.

Смежные вопросы