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


При Выборе Модификации, Которая Есть В Наличии Картинка Не Меняется (Остается Нет В Наличии).


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

#1 OPEX

OPEX

    Пользователь

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

Отправлено 19 Октябрь 2014 - 11:14

Добрый день!
У меня на сайте работает код:
$(function()  {
  setTimeout(function() {
var maxprice = 0;
$('.ModificationsList').each(function() {
var rest = parseInt($(this).find('[name="rest_value"]').val());
var price = parseFloat($(this).find('[name="price_now"]').val());
if(rest && price > maxprice) {
  maxprice = price;
  var id = $(this).attr('rel').split('_');
  var block = $('.goodsDataMainModificationsBlockProperty');
  $('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').parent().trigger('change');
}
});
  }, 600);
});

Который при входе в товар, автоматически выбирает модификацию товара, которая есть в наличии (или которой больше всего). Проблема в том, что последнее время нужная модификация выбирается но картинка с изображением, что товар есть в наличии не меняется, а так же не появляется кнопка "В корзину" остается кнопка "Уведомить о наличии".
т.е. работает через раз т.е. то все нормально картинка и кнопка поменялась то нет!
Подскажите, пожалуйста, в чем может быть проблема?
Аккаунт SL-296968

#2 Сake

Сake

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

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

Отправлено 21 Октябрь 2014 - 02:31

Пожалуйста, приведите пример товара на вашем сайте (в виде ссылки), на странице которого проявляется данная проблема.

#3 OPEX

OPEX

    Пользователь

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

Отправлено 21 Октябрь 2014 - 08:20

Просмотр сообщенияСake (21 Октябрь 2014 - 02:31) писал:

Пожалуйста, приведите пример товара на вашем сайте (в виде ссылки), на странице которого проявляется данная проблема.

http://shop4fit.ru/g...-Whey?from=NGRh

#4 Ирина345

Ирина345

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

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

Отправлено 21 Октябрь 2014 - 08:57

Просмотр сообщенияOPEX (21 Октябрь 2014 - 08:20) писал:

Здравствуйте, уточните у какого товара можно посмотреть, что не меняется картинка,
ссылка, которую Вы прислали идет на товара, у которого нет возможности выбрать модификацию, которой нет в наличие

#5 OPEX

OPEX

    Пользователь

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

Отправлено 21 Октябрь 2014 - 09:21

Просмотр сообщенияИрина345 (21 Октябрь 2014 - 08:57) писал:

Здравствуйте, уточните у какого товара можно посмотреть, что не меняется картинка,
ссылка, которую Вы прислали идет на товара, у которого нет возможности выбрать модификацию, которой нет в наличие
У этого товара Optimum 100% Whey Gold есть две модификации(вкус): 1.Тропический пунш 2.Молочный шоколад если заходить из каталога товара (http://shop4fit.ru/catalog/Protein) то автоматически выбирается модификация Тропический пунш, которой нет в наличии, потом срабатывает скрипт и меняет модификацию на Молочный шоколад но картинка не, что Товара нет в наличии ( а так же кнопка уведомить) не всегда исчезает т.е. меняется на Товар есть в наличии. Попробуйте, пожалуйста, зайти из каталога на страницу товара  Optimum 100% Whey Gold.

#6 Taisia

Taisia

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

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

Отправлено 21 Октябрь 2014 - 09:27

Протестировали в браузерах, проблему обнаружить не удалось.
Уточните, пожалуйста, каким браузером вы пользуетесь ?

#7 OPEX

OPEX

    Пользователь

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

Отправлено 21 Октябрь 2014 - 10:13

Просмотр сообщенияTaisia (21 Октябрь 2014 - 09:27) писал:

Протестировали в браузерах, проблему обнаружить не удалось.
Уточните, пожалуйста, каким браузером вы пользуетесь ?
Я во мнгих браузерах пробовал  в yandex, мозиле, гугл и т.д. Сейчас сам попробовал зайти раз 7  никаких проблем не было.  Попробовал перейти по ссылке http://shop4fit.ru/g...-Whey?from=NGRh опять ошибка : молочный шоколад выбран (он есть в наличии), а картинка не поменялась.

#8 Сake

Сake

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

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

Отправлено 22 Октябрь 2014 - 01:13

Попробуйте используемый вами код

$(function()  {
  setTimeout(function() {
var maxprice = 0;
$('.ModificationsList').each(function() {
var rest = parseInt($(this).find('[name="rest_value"]').val());
var price = parseFloat($(this).find('[name="price_now"]').val());
if(rest && price > maxprice) {
  maxprice = price;
  var id = $(this).attr('rel').split('_');
  var block = $('.goodsDataMainModificationsBlockProperty');
  $('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
  $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').parent().trigger('change');
}
});
  }, 600);
});

заменить на

$(function () {
  setTimeout(function () {
	var maxprice = 0;
	$('.ModificationsList').each(function () {
	  var rest = parseInt($(this).find('[name="rest_value"]').val());
	  var price = parseFloat($(this).find('[name="price_now"]').val());
	  if (rest && price > maxprice) {
		maxprice = price;
		var id = $(this).attr('rel').split('_');
		$('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
		$('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
		$('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
		$('.goodsDataMainModificationsBlockProperty select').trigger('change');
	  }
	});
  }, 800);
});


#9 OPEX

OPEX

    Пользователь

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

Отправлено 22 Октябрь 2014 - 08:13

Просмотр сообщенияСake (22 Октябрь 2014 - 01:13) писал:

Попробуйте используемый вами код

$(function() {
setTimeout(function() {
var maxprice = 0;
$('.ModificationsList').each(function() {
var rest = parseInt($(this).find('[name="rest_value"]').val());
var price = parseFloat($(this).find('[name="price_now"]').val());
if(rest && price > maxprice) {
maxprice = price;
var id = $(this).attr('rel').split('_');
var block = $('.goodsDataMainModificationsBlockProperty');
$('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
$('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
$('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
$('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').parent().trigger('change');
}
});
}, 600);
});

заменить на

$(function () {
setTimeout(function () {
var maxprice = 0;
$('.ModificationsList').each(function () {
	 var rest = parseInt($(this).find('[name="rest_value"]').val());
	 var price = parseFloat($(this).find('[name="price_now"]').val());
	 if (rest && price > maxprice) {
	 maxprice = price;
	 var id = $(this).attr('rel').split('_');
	 $('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
	 $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
	 $('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
	 $('.goodsDataMainModificationsBlockProperty select').trigger('change');
	 }
});
}, 800);
});

Попробовал. Получилось, что теперь дает выбрать модификацию товара которой нет в наличии.Причем  у некоторого товара теперь стало что все модификации есть в наличии (хотя половины в наличии нет), а некоторого товара наоборот всех модификаций нет в наличии (хотя есть модификации в наличии). В общем работает некорректно.

#10 Сake

Сake

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

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

Отправлено 23 Октябрь 2014 - 01:10

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

$(function () {
  setTimeout(function () {
	var maxprice = 0;
	$('.ModificationsList').each(function () {
	  var rest = parseInt($(this).find('[name="rest_value"]').val());
	  var price = parseFloat($(this).find('[name="price_now"]').val());
	  if (rest && price > maxprice) {
		maxprice = price;
		var id = $(this).attr('rel').split('_');
		var block = $('.goodsDataMainModificationsBlockProperty');
		$('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
		$('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
		$('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
		$('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').parent().trigger('change');
	  }
	});
  }, 1000);
});


#11 OPEX

OPEX

    Пользователь

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

Отправлено 27 Октябрь 2014 - 17:42

Просмотр сообщенияСake (23 Октябрь 2014 - 01:10) писал:

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

$(function () {
setTimeout(function () {
var maxprice = 0;
$('.ModificationsList').each(function () {
	 var rest = parseInt($(this).find('[name="rest_value"]').val());
	 var price = parseFloat($(this).find('[name="price_now"]').val());
	 if (rest && price > maxprice) {
	 maxprice = price;
	 var id = $(this).attr('rel').split('_');
	 var block = $('.goodsDataMainModificationsBlockProperty');
	 $('.goodsDataMainModificationsBlockProperty select option').removeAttr('selected');
	 $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').attr('selected', 'selected');
	 $('.goodsDataMainModificationsBlockProperty select option[value="' + id[1] + '"]').attr('selected', 'selected');
	 $('.goodsDataMainModificationsBlockProperty select option[value="' + id[0] + '"]').parent().trigger('change');
	 }
});
}, 1000);
});

Попробовал поставить 1000 сейчас работает нормально не переключается крайне редко. Спасибо.




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

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