Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.11.2019, 13:17
Интересующийся
Отправить личное сообщение для joyandjoy Посмотреть профиль Найти все сообщения от joyandjoy
 
Регистрация: 21.10.2019
Сообщений: 19

Нет Размер 30*30, тип3, выходит 400, рамка 2, должно получится 750, калькулятор считает 700.
Ответить с цитированием
  #12 (permalink)  
Старый 06.11.2019, 13:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от joyandjoy
должно получится 750
С чего вдруг?

Размер 30*30 - это индекс 2. Далее по вашим ценам:
Для типа 3 это значение из массива: [300,350,400][2] = 400.
Для рамки 2 это значение из массива: [200,250,300][2] = 300.
400 + 300 = 700
Ответить с цитированием
  #13 (permalink)  
Старый 06.11.2019, 13:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

А, да, надо было цены из таблицы вставлять в массивы не построчно, а брать из столбцов. Ну это не проблема, сейчас исправим.
Ответить с цитированием
  #14 (permalink)  
Старый 06.11.2019, 13:33
Интересующийся
Отправить личное сообщение для joyandjoy Посмотреть профиль Найти все сообщения от joyandjoy
 
Регистрация: 21.10.2019
Сообщений: 19

Берм размер 20*20, тип 3, цена 300, рамку 2, цена 550, а калькулятор выводит 500.
Ответить с цитированием
  #15 (permalink)  
Старый 06.11.2019, 13:33
Интересующийся
Отправить личное сообщение для joyandjoy Посмотреть профиль Найти все сообщения от joyandjoy
 
Регистрация: 21.10.2019
Сообщений: 19

А ок
Ответить с цитированием
  #16 (permalink)  
Старый 06.11.2019, 13:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Исправлено, теперь верно?
Ответить с цитированием
  #17 (permalink)  
Старый 06.11.2019, 13:41
Интересующийся
Отправить личное сообщение для joyandjoy Посмотреть профиль Найти все сообщения от joyandjoy
 
Регистрация: 21.10.2019
Сообщений: 19

Вроде как да Спасибо. Еще такой момент остался, если пользователь не выбрал рамку или упаковку, как отобразить текущую цену?
Ответить с цитированием
  #18 (permalink)  
Старый 06.11.2019, 13:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от joyandjoy
Еще такой момент остался, если пользователь не выбрал рамку или упаковку, как отобразить текущую цену?
А как он может не выбрать рамку, если у вас этот список обязателен для выбора? Упаковка понятно, она не обязательна, поэтому в расчете и проверяется значение списка, и по результату берется либо значение из массива, либо 0. В противном случае, при обязательном выборе всех списков, такая проверка не нужна.
Ответить с цитированием
  #19 (permalink)  
Старый 06.11.2019, 13:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Если нужно чтобы расчет производился в любом случае, то убрать условие и так:

$('#order').on('change', 'select', function(e) {
    var f = e.delegateTarget, p = $('select', f), v = 0, size = p.eq(0).val()-1;
    $.each(p.slice(1), function() {
        v += this.value ? $(this).children(':selected').data('price')[size] : 0
    });
    f.total.value = v;
});
Ответить с цитированием
  #20 (permalink)  
Старый 06.11.2019, 13:55
Интересующийся
Отправить личное сообщение для joyandjoy Посмотреть профиль Найти все сообщения от joyandjoy
 
Регистрация: 21.10.2019
Сообщений: 19

Сообщение от laimas Посмотреть сообщение
А как он может не выбрать рамку, если у вас этот список обязателен для выбора? Упаковка понятно, она не обязательна, поэтому в расчете и проверяется значение списка, и по результату берется либо значение из массива, либо 0. В противном случае, при обязательном выборе всех списков, такая проверка не нужна.
Сообщение от joyandjoy Посмотреть сообщение
есть 4 пункта, все 4 надо выбрать (кроме последних двух, они не обязательны, но если выбираются, то нужно добавлять к основной сумме).
Сообщение от joyandjoy Посмотреть сообщение
Выбор рамки (необязательно) - Рамка2

Выбор упаковки (необязательно) - Зеленая
Обязателен только размер и тип. Рамка и упаковка не обязательны, т.е. если человеку нужна только упаковка то складываем цену изделия базовую и упаковку, если рамка только, то базовая цена и рамка, если и то и то, то базовая цена + рамка + упаковка.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен калькулятор клининговых услуг abduRahman Работа 2 08.07.2024 09:55
Калькулятор услуг middlee Events/DOM/Window 13 24.08.2015 17:11
Калькулятор услуг nigga_ninja Events/DOM/Window 2 11.08.2015 08:24
Калькулятор услуг tarantino Javascript под браузер 1 30.07.2015 00:21
Калькулятор услуг fabian89 Работа 22 19.11.2013 01:00