Есть курьерская доставка. У нее есть свои тарифы в разных зонах страны. Доставка из одной зоны в другую рассчитывается суммой тарифов этих двух зон. Есть два выпадающих списка с выбором города, вкратце это два select:
1. Населенный пункт отправки посылки. ( здесь к примеру 20 городов)
2. Населенный пункт получения посылки. ( и здесь)
Задача:
Нужен скрипт, который:
1. Будет сверять город выбранный в первом инпуте с городами, которые указаны в .... case: ... brake
И будет ставить стоимость в зависимости от первого города.
2. Будет сверять город выбранный в втором инпуте с городами, которые указаны в .... case: ... brake
И будет ставить стоимость в зависимости от второго города.
3. Будет складывать стоимость тарифов в этих городах и выводить в какой-нибудь div это значение.
4. Если тариф этих городов одинаковый, то он не будет складывать их, а просто выводить первое значение.
Вот здесь код, но там один select, а нужно два, и вместо div input.
<form action="" id="checkout-form">
<select name="" id="order-fld-4">
<option value="Санкт-Петербург">Санкт-Петербург</option>
<option value="Москва">Москва</option>
<option value="Казань">Санкт-Петербург</option>
</select>
<input type="text" name="custom_delivery_tax">
</form>
// обработчик изменения выпадающего списка
$('#order-fld-4').on('change', function(){
// получаем город, который выбрал пользователь
var city = $(this).val();
// запускаем нашу функцию и передаем в нее город
myCalculator(city);
});
// Функция расчета и записи стоимости доставки
function myCalculator(city){
var cost;
// Сопоставляем выбранные город и цену
switch(city){
case 'Москва': cost = 100; break;
case 'Санкт-Петербург': cost = 200; break;
case 'Казань': cost = 300; break;
default: cost = 500;
}
// если поле custom_delivery_tax не существует
if($('input[name="custom_delivery_tax"]').length == 0){
// добавить его
$('#checkout-form').append('<input type="hidden" name="custom_delivery_tax" value="0">');
}
// запись стоимости доставки в поле
custom_delivery_tax$('input[name="custom_delivery_tax"]').val(cost);
}
https://jsfiddle.net/8Lrhxbne/
Код почему-то не хочет работать!