@AFI19

Как правильно дописать скрипт?

Добрый день!
Есть товар с вариантами А, Б и В. У каждого своя цена, вариант выбирается через select после чего с помощью скрипта подставляется цена соответствующая варианту и в sessionStorage записывается id варианта, это нужно для того, что бы вывести цену варианта (на странице товара) который выбрали на странице категории.
$('select[name=variant]').on('change', function(){
    		price = $(this).find('option:selected').attr('data-price');
    		compare_price = $(this).find('option:selected').attr('data-compare-price');
    		$(this).closest('form.addtocart').find('.prc-new').html(price);
    		$(this).closest('form.addtocart').find('.prc-old').html(compare_price);
                var id = $(this).find('option:selected').val();
            	window.sessionStorage.setItem('var_id',id);
          	
     		return false;
    	});


На странице товара мне удалось сделать, что бы отмечался вариант с id который записан в sessionStorage.
var var_id = window.sessionStorage.getItem('var_id');
            	if( var_id && var_id != $('select[name=variant]').val()){
                     $('select[name=variant]').find('option:selected').prop("selected","false");
     		     $('select[name=variant]').find("option[value="+ var_id +"]").prop("selected","true");
                       			
                }

Что нужно дописать, что бы и цена менялась в зависимости от варианта?

UPD. Дописал.
var var_id = window.sessionStorage.getItem('var_id');
            	if( var_id && var_id != $('select[name=variant]').val()){
                	var select = $('select[name=variant]');
                     select.find('option:selected').prop("selected","false");
     		     select.find("option[value="+ var_id +"]").prop("selected","true");
                     price = select.find('option:selected').attr('data-price');
    		compare_price = select.find('option:selected').attr('data-compare-price');
    		select.closest('form.addtocart').find('.prc-new').html(price);
    		select.closest('form.addtocart').find('.prc-old').html(compare_price);	
                }

Все работает.

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы