Вывод суммы при определенном выборе доставки

голоса: 0

Здравствуйте. Посмогите прописать следующее, чтобы при выбре определенного способа доставки данные менялись, возможно ли это?

Пример:

1. клиент выбрал доставку по городу : отразилось название услуги и сумма за услугу

2. клиент выбрал доставку по России: отразилось название услуги и сумма за услугу

 

Сейчас меняется только сумма при этом непонятно к какой услуге она относится.

Адрес сайта www.aksshop.ru
| Автор: | Категория: Интернет-магазин

Ответов: 2

голоса: +2
 
Лучший ответ

Обновление стоимости доставки происходит по ajax, название способа доставки при этом не возвращается. Поэтому только через js.

В шаблоне страница служебных форм в том месте где выводится информация о доставке:

<?if($ORDER_TAX$)?><td><div>Такса за доставку</div> $ORDER_TAX$</td><?endif?>
<script>
// действие при клике по списку доставки
$('#delivery-list tr').on('click', function() {
  $('#total-sum div:eq(0)').html(($('label', this).text()));
});

/* действие при загрузке страницы
   подставляется название выбранного способа доставки */
$('#total-sum div:eq(0)').html($('#delivery-list').find('[type="radio"]:checked').closest('tr').find('label').text());
</script>

 

| Автор:
Выбор ответа лучшим | | Автор: aksshop
У вас jquery вынесен в футер. Значит вам надо часть <script>...</script> вынести в самый конец шаблона и вставить его перед тегом </body>

Спасибо огромное!
Но чуть чуть не то, верней то, но тут привязка идет конкретно к тому что прописано в delivery-list, а менять это не очень хочется можно как то прописать чтобы можно было добалять свои варианты вывода текста.

aksshop,

<script>
var delivery_title = {
  1: 'Название способа доставки с id 1',
  2: 'Название способа доставки с id 2',
  3: 'Название способа доставки с id 3',
  4: 'Название способа доставки с id 4',
  5: 'Название способа доставки с id 5'
}

// действие при клике по списку доставки
$('#delivery-list tr').on('click', function() {
  $('#total-sum div:eq(0)').html(delivery_title[$(this).attr('id').split('-')[2]]);
});

/* действие при загрузке страницы
   подставляется название выбранного способа доставки */
$('#total-sum div:eq(0)').html(delivery_title[$('#delivery-list').find('[type="radio"]:checked').closest('tr').attr('id').split('-')[2]]);
</script>

голоса: 0
Это штатными средствами не реализуется, выбор города доставки и изменение суммы, здесь нужна скриптовая реализация. Раньше для этого было решение СДЕК, но оно устарело. Обратитесь к ребятам на: https://divly.ru/ возможно они предложат решение.
| Автор:
 

Ну $ORDER_TAX$ привязан же к определенным полям спосоов доставки, как узнать ID этих полей?  Вы наверно не правильно меня поняли: я имел ввиду то чтобы выводилась надпись  если выбран id="delivery-block-2" выводится надпись: Доставка по Санкт-Петербургу  если выбран id="delivery-block-4" выводится надпись Доставка по России (за упаковку)   это же можно прописать и без скрипта, только я не знаю как это правильно сделать

Что то типа этого:
 

 

 

aksshop,

Каждый способ доставки завернут в блок с айди:

  • delivery-block-1
  • delivery-block-2
  • delivery-block-3
  • delivery-block-4
  • delivery-block-5

скриншот: http://joxi.ru/GrqjMbEHGYdZKm

Yuri_Geruk,

так подскажите как это сделать?

я сделал вот так но ничего не отображается.

 

 

...