Есть несколько select. При выборе которых в отдельном блоке считается цена путем сложения через .change(). Изначально нужно вывести сумму что я и делаю, потом пишут такой же скрипт только через .change. И дальше копирую с каждого select текущее выбранное значение в pop-up окно. Все это работает. Но как оптимизировать код? Мне кажется он излишним и не совсем правильным.
//Выводим что бы было видно изначально сумму
var sum = 0;
$('.call_calculator select :selected').each(function () {
sum += Number($(this).val());
});
$(".calc_result .price, #text-popup-2 .price").html(sum + ' р.');
//Сумма при выбора option
$('.call_calculator select').change(function () {
var sum = 0;
$('.call_calculator select :selected').each(function () {
sum += Number($(this).val());
});
$(".calc_result .price, #text-popup-2 .price").html(sum + ' р.');
});
// Вывожу скопированные данные с select что бы их сразу было видно в pop-up
$('.call_calculator select.v1 :selected').each(function () {
text = $(this).text();
$(".wrap_box_info .v1").html(text);
});
$('.call_calculator select.v2 :selected').each(function () {
text = $(this).text();
$(".wrap_box_info .v2").html(text);
});
$('.call_calculator select.v3 :selected').each(function () {
text = $(this).text();
$(".wrap_box_info .v3").html(text);
});
$('.call_calculator select.v4 :selected').each(function () {
text = $(this).text();
$(".wrap_box_info .v4").html(text);
});
и т.д.