Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2017, 16:07
Интересующийся
Отправить личное сообщение для WhiteFox Посмотреть профиль Найти все сообщения от WhiteFox
 
Регистрация: 11.05.2017
Сообщений: 27

Замена цены выбранных позиций в калькуляторе
Доброго времени суток, помогите пожалуйста решить задачку, делаю калькулятор и застрял
Когда клацаешь на чекбокс пространства в смету уходит его цена, по умолчанию выбран классический уровень, вот когда меняешь на повышенный например то цены пространства должны множится на 1.8 но они уже чекнуты и цена стоит, как их изменить при смени уровня, сорри если плохо обьясняю
Вот код
<div class="block">
						<p>Уровень площадки<img src="img/icon/bottom.png" alt="Alt"></p>
						<div class="category">
							<label>
								<input type="radio" name="area" class="area_classik" checked>
								<span>Классический вариант</span><br>
								<p>Пансионат, дом отдыха или<br> ресторан в городе.</p>
							</label>
							<label>
								<input type="radio" name="area" class="area_hig">
								<span>Повышеной комфортности</span><br>
								<p>Загородные отели 3-4 звезды или<br> площадка в городе.</p>
							</label>
							<label>
								<input type="radio" name="area" class="area_premium">
								<span>Премиум</span><br>
								<p>Первокласная площадка<br>загородом или в черте города.</p>
							</label>
						</div>
					</div>	
					<div class="block area">
						<p>Какие пространства понадобятся?<img src="img/icon/bottom.png" alt="Alt"></p>
						<div class="cat">
							<label><input type="hidden" class="small" value="25000"><input type="hidden" class="midd" value="70000"><input type="hidden" class="big" value="120000"><input type="hidden" class="areasum" name="shatersum"><input type="hidden" class="areatog" name="shatertog"><input type="checkbox" name="space" value="Шатер/Беседка" class="shater"> Шатер/Беседка</label>
							<label><input type="hidden" class="small" value="30000"><input type="hidden" class="midd" value="70000"><input type="hidden" class="big" value="150000"><input type="hidden" class="areasum" name="banketzalsum"><input type="hidden" class="areatog" name="banketzaltog"><input type="checkbox" name="space" value="Банкетный зал" class="banket_zal"> Банкетный зал</label>
							<label><input type="hidden" class="small" value="30000"><input type="hidden" class="midd" value="70000"><input type="hidden" class="big" value="200000"><input type="hidden" class="areasum" name="confsum"><input type="hidden" class="areatog" name="conftog"><input type="checkbox" name="space" value="Конференц-зал" class="conf_zal"> Конференц-зал</label>
							<label><input type="hidden" class="small" value="25000"><input type="hidden" class="midd" value="50000"><input type="hidden" class="big" value="75000"><input type="hidden" class="areasum" name="clossum"><input type="hidden" class="areatog" name="clostog"><input type="checkbox" name="space" value="Закрытый спортзал" class="clos_sport"> Закрытый спортзал</label>
							<label><input type="checkbox" name="spaceall" class="space_all"> Другое</li></label>
						</div>
					</div>
					<div class="block food">
						<p>Питание<img src="img/icon/bottom.png" alt="Alt"></p>
						<div class="cat">
							<label><input type="hidden" class="small" value="250"><input type="hidden" class="midd" value="400"><input type="hidden" class="big" value="1000"><input type="hidden" class="areasum" name="coffesum"><input type="hidden" class="areatog" name="coffetog"><input type="checkbox" name="space" value="Кофе-брейк" class="coffe"> Кофе-брейк</label>
							<label><input type="hidden" class="small" value="2000"><input type="hidden" class="midd" value="2500"><input type="hidden" class="big" value="3000"><input type="hidden" class="areasum" name="furshetsum"><input type="hidden" class="areatog" name="furshettog"><input type="checkbox" name="space" value="Фуршет/барбекю" class="furshet"> Фуршет/барбекю</label>
							<label><input type="hidden" class="small" value="2700"><input type="hidden" class="midd" value="3800"><input type="hidden" class="big" value="5500"><input type="hidden" class="areasum" name="banketsum"><input type="hidden" class="areatog" name="bankettog"><input type="checkbox" name="space" value="Банкет с рассадкой" class="banket"> Банкет с рассадкой</label>
							<label><input type="hidden" class="small" value="200"><input type="hidden" class="midd" value="600"><input type="hidden" class="big" value="800"><input type="hidden" class="areasum" name="gradussum"><input type="hidden" class="areatog" name="gradustog"><input type="checkbox" name="space" value="Свой алкоголь (пробковый сбор)" class="gradus"> Свой алкоголь</label>
						</div>
					</div>

$('.step_3 .area label input').click(function(e){
		var guest = $('.s_guest').val(),
		small = $(this).parent("label").children(".small").val(),
		midd = $(this).parent("label").children(".midd").val(),
		big = $(this).parent("label").children(".big").val(),
		areawrap = $(this).parent("label").children(".areasum, .areatog"),
		areaval = $("input[name=shatersum],input[name=shatertog]").val() * 2;
		area_classik = $(".area_classik").prop("checked"),
		area_hig = $(".area_hig").prop("checked"),
		area_premium = $(".area_premium").prop("checked"),
		area_none = $(".non-area").prop("checked"),
		check = $(this).prop("checked"),
		cof_1 = 1,
		cof_2 = 1.8,
		cof_3 = 2.2;
		if (check&&area_classik&&guest < 50) {$(areawrap).val(small);}
		else if (check&&area_classik&&guest >= 50 && guest < 120) {$(areawrap).val(small);}
		else if (check&&area_classik&&guest >= 120) {$(areawrap).val(small);}
		else if (check&&area_hig&&guest < 50) {$(areawrap).val(midd);}
		else if (check&&area_hig&&guest >= 50 && guest < 120) {$(areawrap).val(midd);}
		else if (check&&area_hig&&guest >= 120) {$(areawrap).val(midd);}
		else if (check&&area_premium&&guest < 50) {$(areawrap).val(big);}
		else if (check&&area_premium&&guest >= 50 && guest < 120) {$(areawrap).val(big);}
		else {$(areawrap).val("0");};
	});
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2017, 16:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,122

WhiteFox, у тебя пример не полный... Не понятно куда, чего пишется.

Сообщение от WhiteFox
Когда клацаешь на чекбокс пространства в смету уходит его цена, по умолчанию выбран классический уровень, вот когда меняешь на повышенный например то цены пространства должны множится на 1.8 но они уже чекнуты и цена стоит, как их изменить при смени уровня
Как вариант...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('.step_3 .area label input, .category input').click(function(e){
		var guest = $('.s_guest').val(),
		small = $(this).parent("label").children(".small").val(),
		midd = $(this).parent("label").children(".midd").val(),
		big = $(this).parent("label").children(".big").val(),
		areawrap = $(this).parent("label").children(".areasum, .areatog"),
		areaval = $("input[name=shatersum],input[name=shatertog]").val() * 2;
		area_classik = $(".area_classik").prop("checked"),
		area_hig = $(".area_hig").prop("checked"),
		area_premium = $(".area_premium").prop("checked"),
		area_none = $(".non-area").prop("checked"),
		check = $(this).prop("checked"),
		cof_1 = 1,
		cof_2 = 1.8,
		cof_3 = 2.2;
		if (check&&area_classik&&guest < 50) {$(areawrap).val(small);}
		else if (check&&area_classik&&guest >= 50 && guest < 120) {$(areawrap).val(small);}
		else if (check&&area_classik&&guest >= 120) {$(areawrap).val(small);}
		else if (check&&area_hig&&guest < 50) {$(areawrap).val(midd);}
		else if (check&&area_hig&&guest >= 50 && guest < 120) {$(areawrap).val(midd);}
		else if (check&&area_hig&&guest >= 120) {$(areawrap).val(midd);}
		else if (check&&area_premium&&guest < 50) {$(areawrap).val(big);}
		else if (check&&area_premium&&guest >= 50 && guest < 120) {$(areawrap).val(big);}
		else {$(areawrap).val("0");};
	});
});
</script>
</head>
<body>
<div class="block">
	<p>Уровень площадки<img src="img/icon/bottom.png" alt="Alt"></p>
	<div class="category">
		<label>
			<input type="radio" name="area" class="area_classik" checked>
			<span>Классический вариант</span><br>
			<p>Пансионат, дом отдыха или<br> ресторан в городе.</p>
		</label>
		<label>
			<input type="radio" name="area" class="area_hig">
			<span>Повышеной комфортности</span><br>
			<p>Загородные отели 3-4 звезды или<br> площадка в городе.</p>
		</label>
		<label>
			<input type="radio" name="area" class="area_premium">
			<span>Премиум</span><br>
			<p>Первокласная площадка<br>загородом или в черте города.</p>
		</label>
	</div>
</div>	
<div class="block area">
	<p>Какие пространства понадобятся?<img src="img/icon/bottom.png" alt="Alt"></p>
	<div class="cat">
		<label><input type="hidden" class="small" value="25000"><input type="hidden" class="midd" value="70000"><input type="hidden" class="big" value="120000"><input type="hidden" class="areasum" name="shatersum"><input type="hidden" class="areatog" name="shatertog"><input type="checkbox" name="space" value="Шатер/Беседка" class="shater"> Шатер/Беседка</label>
		<label><input type="hidden" class="small" value="30000"><input type="hidden" class="midd" value="70000"><input type="hidden" class="big" value="150000"><input type="hidden" class="areasum" name="banketzalsum"><input type="hidden" class="areatog" name="banketzaltog"><input type="checkbox" name="space" value="Банкетный зал" class="banket_zal"> Банкетный зал</label>
		<label><input type="hidden" class="small" value="30000"><input type="hidden" class="midd" value="70000"><input type="hidden" class="big" value="200000"><input type="hidden" class="areasum" name="confsum"><input type="hidden" class="areatog" name="conftog"><input type="checkbox" name="space" value="Конференц-зал" class="conf_zal"> Конференц-зал</label>
		<label><input type="hidden" class="small" value="25000"><input type="hidden" class="midd" value="50000"><input type="hidden" class="big" value="75000"><input type="hidden" class="areasum" name="clossum"><input type="hidden" class="areatog" name="clostog"><input type="checkbox" name="space" value="Закрытый спортзал" class="clos_sport"> Закрытый спортзал</label>
		<label><input type="checkbox" name="spaceall" class="space_all"> Другое</li></label>
	</div>
</div>
<div class="block food">
	<p>Питание<img src="img/icon/bottom.png" alt="Alt"></p>
	<div class="cat">
		<label><input type="hidden" class="small" value="250"><input type="hidden" class="midd" value="400"><input type="hidden" class="big" value="1000"><input type="hidden" class="areasum" name="coffesum"><input type="hidden" class="areatog" name="coffetog"><input type="checkbox" name="space" value="Кофе-брейк" class="coffe"> Кофе-брейк</label>
		<label><input type="hidden" class="small" value="2000"><input type="hidden" class="midd" value="2500"><input type="hidden" class="big" value="3000"><input type="hidden" class="areasum" name="furshetsum"><input type="hidden" class="areatog" name="furshettog"><input type="checkbox" name="space" value="Фуршет/барбекю" class="furshet"> Фуршет/барбекю</label>
		<label><input type="hidden" class="small" value="2700"><input type="hidden" class="midd" value="3800"><input type="hidden" class="big" value="5500"><input type="hidden" class="areasum" name="banketsum"><input type="hidden" class="areatog" name="bankettog"><input type="checkbox" name="space" value="Банкет с рассадкой" class="banket"> Банкет с рассадкой</label>
		<label><input type="hidden" class="small" value="200"><input type="hidden" class="midd" value="600"><input type="hidden" class="big" value="800"><input type="hidden" class="areasum" name="gradussum"><input type="hidden" class="areatog" name="gradustog"><input type="checkbox" name="space" value="Свой алкоголь (пробковый сбор)" class="gradus"> Свой алкоголь</label>
	</div>
</div>
</body>
</html>


Сообщение от WhiteFox
сорри если плохо обьясняю
Да просто капец!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск