COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Проблема со скриптом jquery


modesty

Recommended Posts

Доброго времени суток! Попросили переделать сайт на Opencart Pro, все идет по плану кроме одной загвоздки: я не силен в javascript и jquery, пришлось вникать, вроде всю логику понял, читаю код по порядку и понимаю его, но он все равно не работает так, как надо. На нем сделаны блоки для высчитывания стоимости доставки. Условия доставки изменились: раньше доставка от 3000 руб. была бесплатной, соответственно не нужно было выводить дополнительные блоки, их нужно было выводить только при сумме до 3000 руб. В общем как только не переделывал код, все равно блоки под кнопкой "до 3000 руб."  не выводятся, а под кнопкой "от 3000 руб." выводятся и показывают правильную сумму доставки.

Сначала при заходе на страницу видим это:

Скрытый текст

321.thumb.jpg.06392fecfb19ee272c12132924765a5a.jpg

Нажимаем на кнопки и видим это:

Скрытый текст

123.thumb.jpg.2964749be1a244f3ac1271cd12f89bc2.jpg

А вот при нажатии на левую кнопку (до 3000 руб.) ничего не происходит. Очень надеюсь на вашу помощь по правке кода. Спасибо.

Скрытый текст

<form class="form cf">
			<section class="plan cf">
				<p>Для уточнения стоимости доставки укажите сумму заказа:</p>
				<br>				
				<input name="radio1" class="summ" id="free" value="1" type="radio ">
					<label class="free-label four col" for="free">До 3 000 руб.</label>				
				<input name="radio1" class="summ" id="basic" value="2" type="radio">
					<label class="basic-label four col" for="basic">От 3 000 руб.</label>
			</section>
			<section style="display: none;" id="rastdost" class="payment-plan cf">
				<p>Укажите расстояние доставки:</p>
				<input name="radio2" class="rast" id="monthly" value="1" type="radio">
					<label class="monthly-label four col" for="monthly">В пределах МКАД</label>
				<input name="radio2" class="rast" id="yearly" value="2" type="radio">
					<label class="yearly-label four col" for="yearly">За МКАД (до 10км)</label>
				<input name="radio2" class="rast" id="geatly" value="3" type="radio">
					<label class="geatly-label four col" for="geatly">За МКАД (от 10км)</label>
			</section>			
			<section style="display: none;" id="timedost" class="payment-type cf">
				<p>Укажите время доставки:</p>
				<input name="radio3" class="rast" id="credit" value="1" type="radio">
					<label class="credit-label four col" for="credit">C 8:00 до 21:00</label>
				<input name="radio3" class="rast" id="debit" value="2" type="radio">
					<label class="debit-label four col" for="debit">C 21:00 до 8:00</label>
			</section>				
		</form>
		<p style="font-size: 20px; color: black; text-align: center;" id="stoimost"> </p>
	</div>
	<script>
	$(function(){    
		$('.summ').change(function(){    	
			$('#rastdost, #timedost').css('display', 'block'); 
			$('#stoimost').text("");
			var on_off = $('input[name=radio1]').id();
			if(on_off == "free"){
				$uslovia_do_3000rub();
				}
			if(on_off == "basic"){
				$uslovia_ot_3000rub();
				}
		});
	});
	$(function (){
		$('.rast').change(function uslovia_do_3000rub(){    	
			var rast = $('input[name=radio2]:checked').val();    	
			var rast2 = $('input[name=radio3]:checked').val();
			if(rast == "1" && rast2 == "1"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 350 руб.");
				}
			else if(rast == "1" && rast2 == "2"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 500 руб.");
				}
			else if(rast == "2" && rast2 == "1"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 500 руб.");
				}
			else if(rast == "2" && rast2 == "2"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 750 руб.");
				}
			else if(rast == "3" && rast2 == "1"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 500 руб. + 30 руб. за каждый километр");
				}
			else if(rast == "3" && rast2 == "2"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 750 руб. + 30 руб. за каждый километр");
				}    
		});
	});

	$(function (){
		$('.rast').change(function uslovia_ot_3000rub(){    	
			var rast = $('input[name=radio2]:checked').val();    	
			var rast2 = $('input[name=radio3]:checked').val();
			if(rast == "1" && rast2 == "1"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: БЕСПЛАТНО");
				}
			else if(rast == "1" && rast2 == "2"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 350 руб.");
				}
			else if(rast == "2" && rast2 == "1"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 500 руб.");
				}
			else if(rast == "2" && rast2 == "2"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 750 руб.");
				}
			else if(rast == "3" && rast2 == "1"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 500 руб. + 30 руб. за каждый километр");
				}
			else if(rast == "3" && rast2 == "2"){
				$('#stoimost').text("СТОИМОСТЬ ДОСТАВКИ: 750 руб. + 30 руб. за каждый километр");
				}    
		});
	});
	</script>

 

 

Изменено пользователем RHCk
Картинки, логи и код убирайте под спойлер.
Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу