Не подхватывает value из select option JS

357
26 октября 2017, 11:20

Здравствуйте. Не пойму где беда, но значение value(или text, тоже пробовал) не подхватывается в функции. Подскажите где я тут туплю. Спасибо!

  let hour1 = document.querySelector('#my_time_hour1'); 
  let min1 = document.querySelector('#my_time_min1'); 
  let hour2 = document.querySelector('#my_time_hour2'); 
  let min2 = document.querySelector('#my_time_min2'); 
  let hour1Val = hour1.options[hour1.selectedIndex].value; 
  let min1Val = min1.options[min1.selectedIndex].value; 
  let hour2Val = hour2.options[hour2.selectedIndex].value; 
  let min2Val = min2.options[min2.selectedIndex].value; 
 
 
  function goKuku(){ 
	if(hour1Val > hour2Val){ 
		alert(hour1Val); 
		alert(hour1Va2) 
	}else if(min1 > min2){ 
		alert(min1); 
		alert(min2); 
	}else{ 
		alert("ne kuku"); 
	} 
  } 
  hour1.onchange = function (){goKuku(); } 
  min1.onchange = function (){goKuku(); } 
  hour2.onchange = function (){goKuku(); } 
  min2.onchange = function (){goKuku(); }
<select id="my_time_hour2" > 
						<option value="00">00</option> 
						<option value="01">01</option> 
						<option value="02">02</option> 
						<option value="03">03</option> 
						<option value="04">04</option> 
						<option value="05">05</option> 
						<option value="06">06</option> 
						<option value="07">07</option> 
						<option value="08">08</option> 
						<option value="09">09</option> 
						<option value="10">10</option> 
						<option value="11">11</option> 
						<option selected value="12">12</option> 
						<option value="13">13</option> 
						<option value="14">14</option> 
						<option value="15">15</option> 
						<option value="16">16</option> 
						<option value="17">17</option> 
						<option value="18">18</option> 
						<option value="19">19</option> 
						<option value="20">20</option> 
						<option value="21">21</option> 
						<option value="22">22</option> 
						<option value="23">23</option> 
					</select> 
					<select  id="my_time_min2" > 
						<option value="00">00</option> 
						<option value="15">15</option> 
						<option value="30">30</option> 
						<option value="45">45</option> 
					</select> 
          <select id="my_time_hour1" > 
						<option value="00">00</option> 
						<option value="01">01</option> 
						<option value="02">02</option> 
						<option value="03">03</option> 
						<option value="04">04</option> 
						<option value="05">05</option> 
						<option value="06">06</option> 
						<option value="07">07</option> 
						<option value="08">08</option> 
						<option value="09">09</option> 
						<option value="10">10</option> 
						<option value="11">11</option> 
						<option selected value="12">12</option> 
						<option value="13">13</option> 
						<option value="14">14</option> 
						<option value="15">15</option> 
						<option value="16">16</option> 
						<option value="17">17</option> 
						<option value="18">18</option> 
						<option value="19">19</option> 
						<option value="20">20</option> 
						<option value="21">21</option> 
						<option value="22">22</option> 
						<option value="23">23</option> 
					</select> 
					<select id="my_time_min1"> 
						<option value="00">00</option> 
						<option value="15">15</option> 
						<option value="30">30</option> 
						<option value="45">45</option> 
					</select>

Вот ссылка на скрипку так же http://jsfiddle.net/s65n9b3z/65/

Answer 1

var selects = document.querySelectorAll('select'); 
 
for (var i = 0; i < selects.length; i++) { 
    selects[i].addEventListener('change', function(event) { 
        goKuku(); 
    }); 
} 
 
 
function goKuku() { 
    let hour1 = document.querySelector('#my_time_hour1'); 
    let min1 = document.querySelector('#my_time_min1'); 
    let hour2 = document.querySelector('#my_time_hour2'); 
    let min2 = document.querySelector('#my_time_min2'); 
    let hour1Val = +hour1.options[hour1.selectedIndex].value; 
    let min1Val = +min1.options[min1.selectedIndex].value; 
    let hour2Val = +hour2.options[hour2.selectedIndex].value; 
    let min2Val = +min2.options[min2.selectedIndex].value; 
 
    if (hour1Val > hour2Val) { 
        console.log('hour1Val: ', hour1Val); 
        console.log('hour2Val: ', hour2Val); 
    } else if (min1 > min2) { 
        console.log('min1Val: ', min1Val); 
        console.log('min2Val: ', min2Val); 
    } else { 
        console.log('ne kuku'); 
    } 
}
<select id="my_time_hour2"> 
    <option value="00">00</option> 
    <option value="01">01</option> 
    <option value="02">02</option> 
    <option value="03">03</option> 
    <option value="04">04</option> 
    <option value="05">05</option> 
    <option value="06">06</option> 
    <option value="07">07</option> 
    <option value="08">08</option> 
    <option value="09">09</option> 
    <option value="10">10</option> 
    <option value="11">11</option> 
    <option selected value="12">12</option> 
    <option value="13">13</option> 
    <option value="14">14</option> 
    <option value="15">15</option> 
    <option value="16">16</option> 
    <option value="17">17</option> 
    <option value="18">18</option> 
    <option value="19">19</option> 
    <option value="20">20</option> 
    <option value="21">21</option> 
    <option value="22">22</option> 
    <option value="23">23</option> 
</select> 
<select id="my_time_min2"> 
    <option value="00">00</option> 
    <option value="15">15</option> 
    <option value="30">30</option> 
    <option value="45">45</option> 
</select> 
<select id="my_time_hour1"> 
    <option value="00">00</option> 
    <option value="01">01</option> 
    <option value="02">02</option> 
    <option value="03">03</option> 
    <option value="04">04</option> 
    <option value="05">05</option> 
    <option value="06">06</option> 
    <option value="07">07</option> 
    <option value="08">08</option> 
    <option value="09">09</option> 
    <option value="10">10</option> 
    <option value="11">11</option> 
    <option selected value="12">12</option> 
    <option value="13">13</option> 
    <option value="14">14</option> 
    <option value="15">15</option> 
    <option value="16">16</option> 
    <option value="17">17</option> 
    <option value="18">18</option> 
    <option value="19">19</option> 
    <option value="20">20</option> 
    <option value="21">21</option> 
    <option value="22">22</option> 
    <option value="23">23</option> 
</select> 
<select id="my_time_min1"> 
    <option value="00">00</option> 
    <option value="15">15</option> 
    <option value="30">30</option> 
    <option value="45">45</option> 
</select>

READ ALSO
Генерация уникального ключа для LocalStorage (JavaScript)

Генерация уникального ключа для LocalStorage (JavaScript)

Имеется функция-конструктор, код внизуНадо сделать механизм, дабы ключ для хранения значения (в данном случае, переменной count) имел уникальное...

340
Основной принцип работы Redux

Основной принцип работы Redux

Начал изучать Redux для использования в связке с ReactЯ понял что Redux только управляет состояниями, но мне не удается восстановить поток выполнения...

335
Проблема с выбором элементов из массива объектов

Проблема с выбором элементов из массива объектов

Есть массив объектов такого вида

370
jQuery - Magnific popup скрол про открытии

jQuery - Magnific popup скрол про открытии

При инициализации модального окна, реализованного с помощью magnific popup, происходит скролл наверх страницы, при закрытии возвращение обратно...

340