Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.07.2016, 18:44
Интересующийся
Отправить личное сообщение для JimHudson Посмотреть профиль Найти все сообщения от JimHudson
 
Регистрация: 20.07.2016
Сообщений: 18

Калькулятор доставки по регионам РФ
Добрый день!
Есть пример скрипта внешнего калькулятора.
Определяет стоимость доставки в зависимости от даты месяца.

var myCalculator = function(day){
// стоимость доставки
var cost = 0;
switch(day) {
// каждое первое число месяца стоимость равна 100у.е.
case 1: cost = 100; break
// каждое двенадцатое число месяца стоимость равна 200у.е.
case 12: cost = 200; break
// каждое тридцать первое число месяца доставка бесплатна (таких дней всего 7 в году)
case 31: cost = 0; break
// по остальным дням мы не так щедры, доставка 500у.е.
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);
}

Необходимо переделать, чтобы считал доставку по регионам.
Есть всего-лишь 4 группы регионов, каждый со своей стоимостью.
Например:
1) Выбираю способ доставки
2) Выходит окно Ajax ("Введите регион доставки"-пустое поле-пример ввода- кнопка "ок")
3) Согласно условий вычисляет стоимость доставки и прибавляет к общей стоимости.

P.S.Скрипт для платформы Ucoz.

Задача по сути простая, но я еще чайник в javascript.

Помогите пожалуйста с кодом.
Ответить с цитированием
  #2 (permalink)  
Старый 20.07.2016, 19:18
Интересующийся
Отправить личное сообщение для JimHudson Посмотреть профиль Найти все сообщения от JimHudson
 
Регистрация: 20.07.2016
Сообщений: 18

Rise, пример.
Есть 4 способа доставки.
Я выбираю чекбокс второго способа и на экране появляется окошко описаное выше. в нем ввожу регион и нажимаю ок.

Или быть может вместо окна Ajax появляется поле для ввода региона под способом доставки

Последний раз редактировалось JimHudson, 20.07.2016 в 19:21.
Ответить с цитированием
  #3 (permalink)  
Старый 20.07.2016, 19:37
Интересующийся
Отправить личное сообщение для JimHudson Посмотреть профиль Найти все сообщения от JimHudson
 
Регистрация: 20.07.2016
Сообщений: 18

Rise, перечислены будут все регионы РФ.
Например:
1) Московская обл, Ленинградская обл - 200 р.
2) Омская обл, Красноярский край - 300 р.
и тд.
3) Для тех регионов которых нет (например: Зарубежье) - 650 р.

Должны перечисляться регионы и для каждого фиксированная стоимость. Я так понимаю.

А может возможно не расписывать условие каждого региона, а перечислить через запятую и присвоить стоимость.
Ответить с цитированием
  #4 (permalink)  
Старый 20.07.2016, 20:32
Интересующийся
Отправить личное сообщение для JimHudson Посмотреть профиль Найти все сообщения от JimHudson
 
Регистрация: 20.07.2016
Сообщений: 18

Rise, суть в том, что я знаю что хочу, но не представляю как технически это сделать. Потому и прошу помощи.
Ответить с цитированием
  #5 (permalink)  
Старый 20.07.2016, 20:37
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

/*
 региональная цена применяется как понижающий или повышающий коэффициент 
 то есть нормализуется относительно базовой цены в диапазоне от 0 до 1, тогда надо умножать
 или выдается как абсолютная величина региональной поправки, то есть от -Х до +Х руб
 тогда надо прибавлять, или тупо выдается окном аякс, чо
*/
var rc='Выходит окно Ajax;';

var cost = 500+rc;

switch(day) {
	case 1: cost = 100+rc; break
	case 12: cost = 200+rc; break
	case 31: cost = 0+rc; break
}
Ответить с цитированием
  #6 (permalink)  
Старый 20.07.2016, 20:39
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от JimHudson
я знаю что хочу
Чтоб за тебя все сделали, а ты получку получил. )))
Ответить с цитированием
  #7 (permalink)  
Старый 20.07.2016, 20:50
Интересующийся
Отправить личное сообщение для JimHudson Посмотреть профиль Найти все сообщения от JimHudson
 
Регистрация: 20.07.2016
Сообщений: 18

warren buffet,какую получку?)))Я безработный))) Это для себя. Весь день убил, чтоб хоть один пример найти. Изучаю html и css, а вот до javascript еще далеко, а надо.
Ответить с цитированием
  #8 (permalink)  
Старый 20.07.2016, 20:50
Интересующийся
Отправить личное сообщение для JimHudson Посмотреть профиль Найти все сообщения от JimHudson
 
Регистрация: 20.07.2016
Сообщений: 18

warren buffet, можешь помочь?
Ответить с цитированием
  #9 (permalink)  
Старый 20.07.2016, 20:51
Интересующийся
Отправить личное сообщение для JimHudson Посмотреть профиль Найти все сообщения от JimHudson
 
Регистрация: 20.07.2016
Сообщений: 18

Rise,
есть идеи?
Ответить с цитированием
  #10 (permalink)  
Старый 21.07.2016, 13:29
Интересующийся
Отправить личное сообщение для JimHudson Посмотреть профиль Найти все сообщения от JimHudson
 
Регистрация: 20.07.2016
Сообщений: 18

Так! Кодил, кодил и накодил!
Что получил
var myCalculator = function(region){
 // стоимость доставки
 var cost = 0;
 switch(region) {
 // каждое первое число месяца стоимость равна 100у.е.
 case 1: cost = 100; break 
 // каждое двенадцатое число месяца стоимость равна 200у.е.
 case 2: cost = 200; break
 // каждое тридцать первое число месяца доставка бесплатна (таких дней всего 7 в году)
 case 3: cost = 0; break
 // по остальным дням мы не так щедры, доставка 500у.е.
 // 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);
}


Попытался описать функцию. В зависимости от выбранного элемента зависит цена.

И попытался вставить в код HTML
<FORM id ="FormReg" name="FormReg">
<SELECT name="SelectReg" id="SelectReg" OnChange='region'>
<OPTION VALUE = "0"> Выюерете регион доставки </OPTION>
<OPTION VALUE = "1"> Московская область </OPTION>
<OPTION VALUE = "2"> Республика Татарстан </OPTION>
<OPTION VALUE = "3"> Алтайский край </OPTION>
</select>
</form>
<script src = "/js/myCalculator.js"></script>
<script>myCalculator(region);</script>


Что не так я сделал?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор услуг tarantino Javascript под браузер 1 30.07.2015 00:21
Не работает Калькулятор просчета отопления igor700 Общие вопросы Javascript 5 26.02.2014 16:18
Калькулятор стоимости доставки Katik Элементы интерфейса 2 30.08.2012 15:32
Сделать калькулятор на сайт. asderru Работа 1 22.07.2010 13:46
Калькулятор работает ТОЛЬКО в ie6 (вопрос ламера) st_sinner Javascript под браузер 3 17.04.2010 18:11