Почему при выборе select всегда выдаёт 3500?

237
29 мая 2018, 06:20

document.getElementById('go').onclick = result; 
var g = document.getElementById("mees").options.selectedIndex; 
var n = document.getElementById("mes").options.selectedIndex; 
var mes = document.getElementById("mes").options[n].value; 
var cube = document.getElementById("nem").value; 
var mees = document.getElementById("mees").options[g].value; 
 
function result() { 
  if (cube > 5) { 
    result = mes * cube + mees * cube; 
    documet.getElementById('resp').innerHTML = result; 
  } else { 
    result = mes * 5 + cube * mees 
    document.getElementById('resp').innerHTML = result; 
  } 
}
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,800" rel="stylesheet"> 
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous"> 
<div class="container-fluid"> 
  <div class="container-fluid"> 
    <div class="navbar-white sticky-top"> 
      <ul style="background-color: #e7e7e7" class="nav justify-content-center p-4"> 
        <li class="ml-1 py-2 px-3"><a id="lel" href="#">НА ГЛАВНУЮ</a></li> 
        <li class="ml-1 py-2 px-3"><a id="lel" href="#">РАСЧЁТ СТОИМОСТИ</a></li> 
        <li class="ml-1 py-2 px-3"><a id="lel" href="#">ЗАКАЗАТЬ</a></li> 
        <li class="ml-1 py-2 px-3"><a id="lel" href="#">О НАС</a></li> 
        <li class="ml-1 py-2 px-3"><a id="lel" href="#">КОНТАТНЫЕ ДАННЫЕ</a></li> 
        <div class="navbar-brand ml-5"> 
          <a href="#"><img src="logo.png" width="80"></a> 
        </div> 
      </ul> 
    </div> 
  </div> 
  <form method="post"> 
    <select name="mes" id="mes"> 
      <option value="700">Архангельское село,Хохольский район</option> 
      <option value="1100">Анна</option> 
      <option value="370">Александровка</option> 
      <option value="400">Бабяково</option> 
      <option value="1100">Бобров</option> 
      <option value="400">Берёзовка</option> 
      <option value="650">Борщево</option> 
      <option value="500">Ближние сады</option> 
      <option value="800">Богданово</option> 
      <option value="750">Большая приваловка</option> 
      <option value="550">Боровое</option> 
      <option value="950">Верхняя хава</option> 
      <option value="500">Воля</option> 
      <option value="650">Галкино</option> 
      <option value="750">Горожанка</option> 
      <option value="725">Гваздёвка</option> 
      <option value="700">Графское</option> 
      <option value="700">Гремячье</option> 
      <option value="475">Дальние сады</option> 
      <option value="700">Девицы</option> 
      <option value="700">Желдаевка</option> 
      <option value="475">Зайчья поляна</option> 
      <option value="725">Землянск</option> 
      <option value="750">Ивницы</option> 
      <option value="625">Изумрудное</option> 
      <option value="625">Кашира</option> 
      <option value="525">Круглое</option> 
      <option value="525">Кожевино</option> 
      <option value="950">Конь-Колодезный</option> 
      <option value="600">Колодезный</option> 
      <option value="575">Каширский район,Посёлок им.Держ.</option> 
      <option value="650">Кузиха</option> 
      <option value="650">Левая Россошь</option> 
      <option value="725">Латное</option> 
      <option value="1200">Липецкая Усмань</option> 
      <option value="525">Малышево</option> 
      <option value="425">Масловский с/x</option> 
      <option value="350">Масловка</option> 
      <option value="675">Медъвежье</option> 
      <option value="675">Медовка</option> 
      <option value="600">Н.Воронеж</option> 
      <option value="1000">Нижнедевицк</option> 
      <option value="450">Новая Усмань</option> 
      <option value="725">Новогремяченское</option> 
      <option value="900">Нелжа</option> 
      <option value="425">Нечаевка</option> 
      <option value="725">Нижняя катуховка</option> 
      <option value="350">Никольское</option> 
      <option value="575">Орловка</option> 
      <option value="525">Орлово</option> 
      <option value="1200">Острогоржск</option> 
      <option value="450">Отрадное</option> 
      <option value="450">Отрожка</option> 
      <option value="950">Панино</option> 
      <option value="425">Парусное</option> 
      <option value="525">Первое мая</option> 
      <option value="525">Придонский</option> 
      <option value="450">Петино</option> 
      <option value="525">Подпольное</option> 
      <option value="525">Подклетное село</option> 
      <option value="575">Посёлок имени Дзержинского</option> 
      <option value="525">Подгореое</option> 
      <option value="675">Рамонь</option> 
      <option value="625">Рожденственская Хава</option> 
      <option value="425">Репное</option> 
      <option value="550">Рогачёвка</option> 
      <option value="550">Рыкань</option> 
      <option value="325">с/х Масловский</option> 
      <option value="800">Ступино</option> 
      <option value="575">Староживотинное</option> 
      <option value="800">Скляево</option> 
      <option value="725">Семилуки</option> 
      <option value="675">Стрелица</option> 
      <option value="475">Сомово</option> 
      <option value="425">Товарово</option> 
      <option value="475">Тепличный</option> 
      <option value="475">Теннистый</option> 
      <option value="725">Углянец</option> 
      <option value="475">Усмань</option> 
      <option value="725">Хвощеватка</option> 
      <option value="625">Хреновое</option> 
      <option value="900">Хохол</option> 
      <option value="1000">Хлевное</option> 
      <option value="475">Чертовицы</option> 
      <option value="525">Шуберское</option> 
      <option value="550">Шилово</option> 
      <option value="625">Ямное</option> 
    </select>Место <input name="num" id="nem" type="number" min="1" step="1">М 
    <sup><small>3</small></sup> 
    <br> 
    <select name="mees" id="mees"> 
      <option value="3150">Бетон m100</option> 
      <option value="3250">Бетон m150</option> 
      <option value="3400">Бетон m200</option> 
      <option value="3580">Бетон m250</option> 
      <option value="3480">Бетон m300</option> 
      <option value="3950">Бетон m350</option> 
      <option value="4300">Бетон m400</option> 
      <option value="4450">Бетон m450</option> 
      <option value="3700">Керамз.бетон m75</option> 
      <option value="3800">Керамз.бетон m100</option> 
      <option value="4000">Керамз.бетон m150</option> 
      <option value="4100">Керамз.бетон m200</option> 
      <option value="2420">Песк.бетон m100</option> 
      <option value="2660">Песк.бетон m150</option> 
      <option value="2900">Песк.бетон m200</option> 
      <option value="3000">Песк.бетон m250</option> 
      <option value="2420">Раств.цемент m100</option> 
      <option value="2660">Раств.цемент m150</option> 
      <option value="2900">Раств.цемент m200</option> 
      <option value="3000">Раств.цемент m250</option> 
    </select>Марка 
  </form> 
  <div class="sos"><button id="go" name="go" value="=">=</button> 
    <div id="resp"></div> 
  </div> 
</div>

Переписываю калькулятор с PHP. Почему-то всё время выдаёт 3500, это если по дефолту оставить всё, но даже когда выбираешь option, то 3500.

Answer 1

потому что вы в переменные помещаете один раз значение, а вызываемая функция должна работать с новыми.

document.getElementById('go').onclick = result; 
 
 
function result(){ 
var g = document.getElementById("mees").options.selectedIndex; 
var n = document.getElementById("mes").options.selectedIndex; 
var mes = document.getElementById("mes").options[n].value; 
var cube = document.getElementById("nem").value; 
var mees = document.getElementById("mees").options[g].value; 
 
if(cube > 5){ 
result = mes * cube + mees * cube; 
documet.getElementById('resp').innerHTML = result; 
} 
else { 
	result = mes * 5 + cube * mees 
	document.getElementById('resp').innerHTML = result; 
}}
<!DOCTYPE html> 
<html lang="ru"> 
<head> 
	<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,800" rel="stylesheet"> 
	<meta charset="UTF-8"> 
	<title>Document</title> 
	<link rel="stylesheet" href="style.css"> 
	<script src="res.js" defer></script> 
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous"> 
</head> 
<body> 
	<div class="container-fluid"> 
 
	 
	<div class="container-fluid"> 
 
	<div class="navbar-white sticky-top" ><ul style="background-color: #e7e7e7" class="nav justify-content-center p-4"> 
<li class="ml-1 py-2 px-3"><a id="lel"   href="#">НА ГЛАВНУЮ</a></li> 
<li class="ml-1 py-2 px-3"><a id="lel"  href="#">РАСЧЁТ СТОИМОСТИ</a></li> 
<li class="ml-1 py-2 px-3"><a id="lel"  href="#">ЗАКАЗАТЬ</a></li> 
<li class="ml-1 py-2 px-3"><a id="lel"  href="#">О НАС</a></li> 
<li class="ml-1 py-2 px-3"><a id="lel"  href="#">КОНТАТНЫЕ ДАННЫЕ</a></li> 
<div class="navbar-brand ml-5"><a href="#"><img src="logo.png" width="80"></a></div> 
 
	</ul></div> 
	</div> 
	<form method="post"> 
       <select name="mes" id="mes"> 
 
            <option  value="700">Архангельское село,Хохольский район</option> 
            <option  value="1100">Анна</option> 
            <option  value="370">Александровка</option> 
            <option  value="400">Бабяково</option> 
            <option  value="1100">Бобров</option> 
            <option  value="400">Берёзовка</option> 
            <option  value="650">Борщево</option> 
            <option  value="500">Ближние сады</option> 
            <option  value="800">Богданово</option> 
            <option  value="750">Большая приваловка</option> 
            <option  value="550">Боровое</option> 
            <option  value="950">Верхняя хава</option> 
            <option  value="500">Воля</option> 
            <option  value="650">Галкино</option> 
            <option  value="750">Горожанка</option> 
           <option  value="725">Гваздёвка</option> 
           <option  value="700">Графское</option> 
           <option  value="700">Гремячье</option> 
           <option  value="475">Дальние сады</option> 
           <option  value="700">Девицы</option> 
           <option  value="700">Желдаевка</option> 
           <option  value="475">Зайчья поляна</option> 
           <option  value="725">Землянск</option> 
           <option  value="750">Ивницы</option> 
           <option  value="625">Изумрудное</option> 
           <option  value="625">Кашира</option> 
           <option  value="525">Круглое</option> 
           <option  value="525">Кожевино</option> 
           <option  value="950">Конь-Колодезный</option> 
           <option  value="600">Колодезный</option> 
           <option  value="575">Каширский район,Посёлок им.Держ.</option> 
           <option  value="650">Кузиха</option> 
           <option  value="650">Левая Россошь</option> 
           <option  value="725">Латное</option> 
           <option  value="1200">Липецкая Усмань</option> 
           <option  value="525">Малышево</option> 
           <option  value="425">Масловский с/x</option> 
           <option  value="350">Масловка</option> 
           <option  value="675">Медъвежье</option> 
           <option  value="675">Медовка</option> 
           <option  value="600">Н.Воронеж</option> 
           <option  value="1000">Нижнедевицк</option> 
           <option  value="450">Новая Усмань</option> 
           <option  value="725">Новогремяченское</option> 
           <option  value="900">Нелжа</option> 
           <option  value="425">Нечаевка</option> 
           <option  value="725">Нижняя катуховка</option> 
           <option  value="350">Никольское</option> 
           <option  value="575">Орловка</option> 
           <option  value="525">Орлово</option> 
           <option  value="1200">Острогоржск</option> 
           <option  value="450">Отрадное</option> 
           <option  value="450">Отрожка</option> 
           <option  value="950">Панино</option> 
           <option  value="425">Парусное</option> 
           <option  value="525">Первое мая</option> 
           <option  value="525">Придонский</option> 
           <option  value="450">Петино</option> 
           <option  value="525">Подпольное</option> 
           <option  value="525">Подклетное село</option> 
           <option  value="575">Посёлок имени Дзержинского</option> 
           <option  value="525">Подгореое</option> 
           <option  value="675">Рамонь</option> 
           <option  value="625">Рожденственская Хава</option> 
           <option  value="425">Репное</option> 
           <option  value="550">Рогачёвка</option> 
           <option  value="550">Рыкань</option> 
           <option  value="325">с/х Масловский</option> 
           <option  value="800">Ступино</option> 
           <option  value="575">Староживотинное</option> 
           <option  value="800">Скляево</option> 
           <option  value="725">Семилуки</option> 
           <option  value="675">Стрелица</option> 
           <option  value="475">Сомово</option> 
           <option  value="425">Товарово</option> 
           <option  value="475">Тепличный</option> 
           <option  value="475">Теннистый</option> 
           <option  value="725">Углянец</option> 
           <option  value="475">Усмань</option> 
           <option  value="725">Хвощеватка</option> 
           <option  value="625">Хреновое</option> 
           <option  value="900">Хохол</option> 
           <option  value="1000">Хлевное</option> 
           <option  value="475">Чертовицы</option> 
           <option  value="525">Шуберское</option> 
           <option  value="550">Шилово</option> 
           <option  value="625">Ямное</option> 
 
 
 
 
        </select>Место <input name="num" id="nem" type="number" min="1" step="1">М 
        <sup><small>3</small></sup> 
        <br> <select name="mees" id="mees"> 
 
            <option  value="3150">Бетон m100</option> 
            <option  value="3250">Бетон m150</option> 
            <option  value="3400">Бетон m200</option> 
            <option  value="3580">Бетон m250</option> 
            <option  value="3480">Бетон m300</option> 
            <option  value="3950">Бетон m350</option> 
            <option  value="4300">Бетон m400</option> 
            <option  value="4450">Бетон m450</option> 
            <option  value="3700">Керамз.бетон m75</option> 
            <option  value="3800">Керамз.бетон m100</option> 
            <option  value="4000">Керамз.бетон m150</option> 
            <option  value="4100">Керамз.бетон m200</option> 
            <option  value="2420">Песк.бетон m100</option> 
            <option  value="2660">Песк.бетон m150</option> 
            <option  value="2900">Песк.бетон m200</option> 
            <option  value="3000">Песк.бетон m250</option> 
            <option  value="2420">Раств.цемент m100</option> 
            <option  value="2660">Раств.цемент m150</option> 
            <option  value="2900">Раств.цемент m200</option> 
            <option  value="3000">Раств.цемент m250</option> 
 
        </select>Марка 
 
 
    </form> 
    <div class="sos"><button id="go"   name="go" value="=">=</button><div id="resp"></div></div></div></body></html>

READ ALSO
Как вывести переменную из JavaScript в HTML

Как вывести переменную из JavaScript в HTML

Как вывести переменную из JavaScript в HTML если documentwrite не работает? Если сделать document

200
Уникальное значение массива

Уникальное значение массива

Есть массивНапример [1,2,4,5,3,5,2,1,3]

167
Fine Uploader получить новое имя файла

Fine Uploader получить новое имя файла

Нужна помощь с Fine Uploader (https://fineuploadercom/), ситуация такова: при загрузке изображения, я на сервере переименовываю его в рандомное имя (необходимо,...

214
Javascript проблемы с замыканием

Javascript проблемы с замыканием

Появилась необходимость написать простой счетчик (как товары в корзине интернет магазина +- у значения input)Всегда делал примерно вот так и проблем...

198