Такой вопрос, есть
.each(function(){
var form = $(this);
$('select[name^=variant]', form).on('change', function() {
var sum = 0;
$('select[name^=variant]', form).each(function(){
sum += $(this).find('option:selected').data('price') || 0;
});
form.find('.prc-new').html(sum + ' ' + $(this).data('currency'));
}).eq(0).change();
})
Есть функция которая при выборе определенного select сумирует все выбранные селекты используя значения из data атрибутов
<select class="select_product" name="variants[]" data-currency="руб*">
<option value="">Договор с ОФД</option>
<option value="217" data-price="2000" data-compare-price="2 400">ОФД на 12 месяцев 2000р.</option>
<option value="218" data-price="2400" data-compare-price="3 000">ОФД на 15 месяцев 2400р.</option>
<option value="219" data-price="4500" data-compare-price="6 500">ОФД на 36 месяцев 4500р.</option>
</select>
Возникла необходимость помимо price сумировать еще и compare price и выводить его в диве .prc-old.
.each(function(){
var form = $(this);
$('select[name^=variant]', form).on('change', function() {
var sum = 0;
var compare_sum= 0;
$('select[name^=variant]', form).each(function(){
sum += $(this).find('option:selected').data('price') || 0;
compare_sum += $(this).find('option:selected').data('compare-price') || 0;
});
form.find('.prc-new').html(sum + ' ' + $(this).data('currency'));
form.find('.prc-old').html(compare_sum + ' ' + $(this).data('currency'));
}).eq(0).change();
})
В итоге данный код не сумирует compare price а пишет какой то бред.