Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2015, 17:48
Интересующийся
Отправить личное сообщение для Valtar7 Посмотреть профиль Найти все сообщения от Valtar7
 
Регистрация: 30.06.2015
Сообщений: 10

Нужно что бы при вводе числа в поле калькулятора выводилось другое число
Здравствуйте. Столкнулся с проблемой делая калькулятор для товаров.
Не знаю как дописать скрипт.
Суть в следующем: Есть список select с карнизами в нём нужно выбрать тип корнизов Мини,Стандарт. А в поле с шириной при вводе в него значения к примеру 0.95 Мини должна подставляться ценна 898 при 1.05 или 1.5 946 рублей.
При смене select крнизов с Мини на стандарт цена должна подставляться при 0.95 на 1246.


// JavaScript Document
$(document).ready(function() {
	//Немного оформления в стиле зебры
	$("#calculate").find("tr:odd").css({"background":"#fbdd59", "opacity":"0.8"});
	
	//Калькулятор
	$("#tableSelect").change(function() {
		var totalSum = 0;

		$("input[id^='pos'], select[id^='pos']").each(function() {
			var idElement = "#"+$(this).attr("id"), 
				priceField = parseInt($(idElement+"_price").val())||0, 
				priceField1 = parseInt($(idElement+"_price1").text())||0, 
				countField = parseInt($(this).val())||0; 
				countField1 = parseInt($(this).val())||0; 
			
			$(idElement+"_count").text(priceField * countField); 
			$(idElement+"_count1").text(priceField1 * countField1); 
			totalSum += priceField * countField;
			totalSum += priceField1 * countField1;
		});
		$("#count_price span").text(totalSum);
	});
});


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="scripts.js"></script>
</head>

<body>

 <form id="tableSelect" action="action.php" method="post">

Метры
            <input id="pos_1_price" type="text" class="vertical"></br>
        	Полотно Бельгия Polyplast
            </br>
            	<select id="pos_1" name="veduschiy">
                	<option value="0" selected>-</option>
                	<option value="490">Матовое полотно</option>
                    <option value="690">Глянец</option>
                    <option value="790">Сатин</option>
                </select></br>
			<div id="pos_1_count">0</div>
			
			Карниз
	       <select id="pos_2" name="veduschiy">
                	<option value="0" selected>-</option>
                	<option value="0">Мини "Зебра"</option>
                    <option value="0">Стандарт "Зебра"</option>
                    <option value="0">С декоративным коробом</option>
                </select></br>
			Ширина
            <input id="pos_2_price" type="text" class="vertical"></br>
			</br>
			<div id="pos_2_count">0</div>

 <div id="count_price"><p>Итого: <span></span> руб.</p></div>
</form>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2015, 20:16
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Так заполните value вместо нулей ценниками или нормализованными коэффициентами.
Ответить с цитированием
  #3 (permalink)  
Старый 14.07.2015, 07:35
Интересующийся
Отправить личное сообщение для Valtar7 Посмотреть профиль Найти все сообщения от Valtar7
 
Регистрация: 30.06.2015
Сообщений: 10

Я несколько не правильно написал суть проблемы.
Есть таблица с ценами, длинные select не подходят. Как сделать коэффициент с такими суммами я не совсем понимаю.
Ширина --Мини "Зебра"--Стандарт "Зебра"--С декоративным коробом
0.40--------- 496------------------1000 -----------------1295
0.45---------520-------------------1000 ----------------1295
0.75---------718 ------------------ 1032 ----------------1336
1.00--------- 946------------------ 1202 ----------------1556

Последний раз редактировалось Valtar7, 14.07.2015 в 07:42.
Ответить с цитированием
  #4 (permalink)  
Старый 14.07.2015, 08:04
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Ширина - список, остальное опции радиобаттонами. Список выдает индекс элемента в массиве данных, а радиобаттоны индекс элемента в элементе. То есть данные это будет массив массивов

prices=[
   [1.55,null,1680,2174],
   [2.55,1345,5654,9875],
   [3.55,3736,4680,7184],
    /* etc */
];


Либо прямо в option силекта профтыкайте дата-теги со всеми опциями. Короче, тут как угодно можно сделать, интерфейс тут тривиальный.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы при вводе числа в поле добавлялись разделители групп разрядов? Hurray Элементы интерфейса 13 18.02.2015 14:07
Мой собственный башорг в скайпе))) devote Оффтопик 81 03.10.2012 00:56
Как проигнорировать определенные символы при вводе в поле input? nraw Events/DOM/Window 6 24.07.2012 17:17
Нужно при вводе в текстовое поле тут же отобразить данный в другом месте klubnichkaaa AJAX и COMET 3 20.10.2011 20:46
О фрилансе (Личный опыт) free Оффтопик 105 18.08.2011 17:02