Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Калькулятор на javascript (https://javascript.ru/forum/events/54508-kalkulyator-na-javascript.html)

Kirill84 20.03.2015 01:01

Калькулятор на javascript
 
Пытаюсь создать калькулятор на javascript.
Все казалось бы просто, вычислением двух величин, получаю результат.

Мне же необходимо прибавлять к полученному результату его указанную стоимость, представленную в табличке (цены указаны за м. кв.).


Например, по самому первому измерению 6*3 = 18, стоимость его будет составлять 39600.

Сделал на jsfiddle: https://jsfiddle.net/mng67cpL/8/

Очень прошу вашей подсказки.

function calc() {
	//получаем ссылку на элемент Select (Ширина пролёта)
	var SizeWidth = document.getElementById("SizeWidth");
	//получаем ссылку на элемент Select (Высота по стене)
	var SizeHeight = document.getElementById("SizeHeight");
			
	//получаем ссылку на элемент span, в него будем писать стоимость каркаса за м2
	var result = document.getElementById("result");
			
	//Первое что пришло на ум, создать массив с ценами
	var cost = [2200, 2220, 2240, 2260, 2280, 2300, 2450],
	n = cost.length;
				
	
	var size = parseInt(SizeWidth.options[SizeWidth.selectedIndex].value) * parseFloat(SizeHeight.options[SizeHeight.selectedIndex].value);
	var price = 100*size;//(тут формула вычисления цены)
	result.innerHTML = price+' руб. за '+size;
		
		}


<b>Ширина пролёта (м):</b><br/>
	<select onchange="calc()" id="SizeWidth">
		<option value="0">Выбрать</option>
		<option value="6">6</option>
		<option value="9">9</option>
		<option value="12">12</option>
		<option value="15">15</option>
		<option value="18">18</option>
		<option value="21">21</option>
		<option value="24">24</option>
	</select><br/><br/>
	
<b>Высота по стене (м):</b><br/>
	<select onchange="calc()" id="SizeHeight">
		<option value="0">Выбрать</option>
		<option value="3.0">3,0</option>
		<option value="3.6">3,6</option>
		<option value="4.2">4,2</option>
		<option value="4.8">4,8</option>
		<option value="5.4">5,4</option>
		<option value="6.0">6,0</option>
		<option value="7.2">7,2</option>
	</select><br/><br/>
<div>Площадь: <span id="result">0</span> м<sup>2</sup>.</div>

рони 20.03.2015 01:38

Kirill84,
:-?
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> - jsFiddle demo</title>
  </head>
<body>
  <img src="http://www.kvestastol.ru/calculator.jpg"><br>

<b>Ширина пролёта (м):</b><br/>
	<select onchange="calc()" id="SizeWidth">
		<option value="0">Выбрать</option>
		<option value="6">6</option>
		<option value="9">9</option>
		<option value="12">12</option>
		<option value="15">15</option>
		<option value="18">18</option>
		<option value="21">21</option>
		<option value="24">24</option>
	</select><br/><br/>

<b>Высота по стене (м):</b><br/>
	<select onchange="calc()" id="SizeHeight">
		<option value="0">Выбрать</option>
		<option value="3.0">3,0</option>
		<option value="3.6">3,6</option>
		<option value="4.2">4,2</option>
		<option value="4.8">4,8</option>
		<option value="5.4">5,4</option>
		<option value="6.0">6,0</option>
		<option value="7.2">7,2</option>
	</select><br/><br/>
<div>Площадь: <span id="result">0</span> м<sup>2</sup>.</div>



<script>

function calc() {
	//получаем ссылку на элемент Select (Ширина пролёта)
	var SizeWidth = document.getElementById("SizeWidth");
	//получаем ссылку на элемент Select (Высота по стене)
	var SizeHeight = document.getElementById("SizeHeight");

	//получаем ссылку на элемент span, в него будем писать стоимость каркаса за м2
	var result = document.getElementById("result");

	//Массив с ценами
	var i = SizeHeight.selectedIndex; cost = [0, 2200, 2220, 2240, 2260, 2280, 2300, 2450][i],
		h = SizeHeight.value, w = SizeWidth.value,
        size = h * w,
        price = cost*size;//(тут формула вычисления цены)
		result.innerHTML = price+' руб. за '+size;

		}
</script>


</body>


</html>

Kirill84 20.03.2015 01:41

Спасибо Вам большое за оказанную помощь.

krasovsky 20.03.2015 07:40

рони,
Мне кажется это был юбилейный 100500й калькулятор, который ты сделал на этом форуме.

рони 20.03.2015 08:17

krasovsky,
:)


Часовой пояс GMT +3, время: 12:59.