Перейти к содержимому


Стоимость Зоны Доставки


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 yamamoto

yamamoto

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 268 сообщений

Отправлено 10 Апрель 2014 - 21:15

Как сделать, чтобы на странице доставки при выборе зоны доставки из выпадающего списка (В пунктах выдачи в городах России) сразу на этой же странице менялась цена?
Аккаунт SL-151311

#2 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 11 Апрель 2014 - 01:15

Попробуйте в файле main.js найти строку

$('.deliveryZoneRadio').click(function()

и заменить её на

$('.deliveryZoneRadio').change(function()


#3 yamamoto

yamamoto

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 268 сообщений

Отправлено 11 Апрель 2014 - 11:50

к сожалению не помогло. есть еще варианты?

#4 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 12 Апрель 2014 - 00:50

У  вас на данный момент для всех зон доставки одинаковая цена. Попробуйте изменить цену зон и добавить в файл main.js следующий код

$('.deliveryZoneRadio').change(function(){
	var price = $(this).find('option:selected').attr('data-price');
	$(this).closest('tbody').find('.orderStageDeliveryDefaultPrice .num').html(price);
});


#5 yamamoto

yamamoto

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 268 сообщений

Отправлено 12 Апрель 2014 - 03:37

Просмотр сообщенияСake (12 Апрель 2014 - 00:50) писал:

У  вас на данный момент для всех зон доставки одинаковая цена. Попробуйте изменить цену зон и добавить в файл main.js следующий код

$('.deliveryZoneRadio').change(function(){
var price = $(this).find('option:selected').attr('data-price');
$(this).closest('tbody').find('.orderStageDeliveryDefaultPrice .num').html(price);
});

не помогло, цена по-прежнему не меняется. цены разные В пунктах выдачи в городах России. есть еще варианты?

#6 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 12 Апрель 2014 - 06:07

Найдите в вашем файле main.js следующий код

$(document).ready(function(){
$("#navigation").treeview({
				persist: "location",
				collapsed: true,
				unique: true
});
});

$(function() {
  $('.deliveryRadio').click(function() {
		$('.deliveryZoneRadio').attr('disabled', 'disabled');
		$(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
		$('.orderInfoDeliveryAddress, .orderStageDelivery > h3:last').show();
		var delivery = $(this).val();
		var list = ['190143', '239563', '150197', '150198'];
		if($.inArray(delivery, list) === -1) {
				$('.orderInfoDeliveryAddress, .orderStageDelivery > h3:last').hide();
		}
  });
  $('.deliveryRadio:checked').trigger('click');
});
$(function() {
				$('.orderStageDeliveryListTable td:not(.cell1, .cell5)').click(function() {
				   $(this).closest('tbody').find('td.cell1 .deliveryRadio').trigger('click');
				});
});

$('.deliveryZoneRadio').change(function(){
		var price = $(this).find('option:selected').attr('data-price');
		$(this).closest('tbody').find('.orderStageDeliveryDefaultPrice .num').html(price);
});

и замените его на

$(function() {
  $("#navigation").treeview({
				persist: "location",
				collapsed: true,
				unique: true
  });
  $('.deliveryRadio').click(function() {
		$('.deliveryZoneRadio').attr('disabled', 'disabled');
		$(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
		$('.orderInfoDeliveryAddress, .orderStageDelivery > h3:last').show();
		var delivery = $(this).val();
		var list = ['190143', '239563', '150197', '150198'];
		if($.inArray(delivery, list) === -1) {
				$('.orderInfoDeliveryAddress, .orderStageDelivery > h3:last').hide();
		}
  });
  $('.deliveryRadio:checked').trigger('click');
  $('.orderStageDeliveryListTable td:not(.cell1, .cell5)').click(function() {
	 $(this).closest('tbody').find('td.cell1 .deliveryRadio').trigger('click');
  });
  $('.deliveryZoneRadio').change(function(){
	   var price = $(this).find('option:selected').attr('data-price');
	   $(this).closest('tbody').find('.orderStageDeliveryDefaultPrice .num').html(price);
  });
});

после очистите кеш в вашем браузере. Цена для зон доставки будет изменятся с учетом выбора зоны в выпадающем списке.

#7 yamamoto

yamamoto

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 268 сообщений

Отправлено 12 Апрель 2014 - 11:59

Просмотр сообщенияСake (12 Апрель 2014 - 06:07) писал:

Найдите в вашем файле main.js следующий код

$(document).ready(function(){
$("#navigation").treeview({
			 persist: "location",
			 collapsed: true,
			 unique: true
});
});

$(function() {
$('.deliveryRadio').click(function() {
	 $('.deliveryZoneRadio').attr('disabled', 'disabled');
	 $(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
	 $('.orderInfoDeliveryAddress, .orderStageDelivery > h3:last').show();
	 var delivery = $(this).val();
	 var list = ['190143', '239563', '150197', '150198'];
	 if($.inArray(delivery, list) === -1) {
			 $('.orderInfoDeliveryAddress, .orderStageDelivery > h3:last').hide();
	 }
});
$('.deliveryRadio:checked').trigger('click');
});
$(function() {
			 $('.orderStageDeliveryListTable td:not(.cell1, .cell5)').click(function() {
				 $(this).closest('tbody').find('td.cell1 .deliveryRadio').trigger('click');
			 });
});

$('.deliveryZoneRadio').change(function(){
	 var price = $(this).find('option:selected').attr('data-price');
	 $(this).closest('tbody').find('.orderStageDeliveryDefaultPrice .num').html(price);
});

и замените его на

$(function() {
$("#navigation").treeview({
			 persist: "location",
			 collapsed: true,
			 unique: true
});
$('.deliveryRadio').click(function() {
	 $('.deliveryZoneRadio').attr('disabled', 'disabled');
	 $(this).closest('tbody').find('.deliveryZoneRadio').removeAttr('disabled');
	 $('.orderInfoDeliveryAddress, .orderStageDelivery > h3:last').show();
	 var delivery = $(this).val();
	 var list = ['190143', '239563', '150197', '150198'];
	 if($.inArray(delivery, list) === -1) {
			 $('.orderInfoDeliveryAddress, .orderStageDelivery > h3:last').hide();
	 }
});
$('.deliveryRadio:checked').trigger('click');
$('.orderStageDeliveryListTable td:not(.cell1, .cell5)').click(function() {
	 $(this).closest('tbody').find('td.cell1 .deliveryRadio').trigger('click');
});
$('.deliveryZoneRadio').change(function(){
	 var price = $(this).find('option:selected').attr('data-price');
	 $(this).closest('tbody').find('.orderStageDeliveryDefaultPrice .num').html(price);
});
});

после очистите кеш в вашем браузере. Цена для зон доставки будет изменятся с учетом выбора зоны в выпадающем списке.

код поменял, кэш почистил, но все осталось по-прежнему, цена не изменяется. браузеры - файерфокс и яндекс

#8 yamamoto

yamamoto

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 268 сообщений

Отправлено 14 Апрель 2014 - 10:30

вопрос открыт

#9 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 15 Апрель 2014 - 00:46

На вашем сайте в данный момент цена зоны доставки изменяется с учетом выбора зоны доставки. Например если выбрать пункт доставки "В пунктах выдачи в городах России" с зоной доставки "Абакан", то цена установиться в 240 рублей, по умолчанию же цена равняется 220 рублей. Пожалуйста, уточните что именно у вас не работает? Возможно вы ожидали что код будет работать иначе?

#10 yamamoto

yamamoto

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 268 сообщений

Отправлено 15 Апрель 2014 - 20:01

все заработало, спасибо!




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных