Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как соединить 2 функции в одну (https://javascript.ru/forum/misc/78735-kak-soedinit-2-funkcii-v-odnu.html)

skytec 28.10.2019 00:01

Как соединить 2 функции в одну
 
Имеется 2 тега select, как сделать, чтобы при выборе определённых опций в двух select вызывался какой-нибудь метод. Например, при выборе test11 и test21 срабатывал alert.
Простите за мою неграмотность в программировании.
Буду крайне признателен за помощь.
Принятые меры: недельное обшаривание интернета.

<select id="test1">
  <option></option>
  <option value="test11" id="test11">test11</option>
  <option value="test12" id="test12">test12</option>
  <option value="test13" id="test13">test13</option>
</select>

<select id="test2">
  <option></option>
  <option value="test21" id="test21">test21</option>
  <option value="test22" id="test22">test22</option>
  <option value="test23" id="test23">test23</option>
</select>


let testt1 = document.querySelector("test1");
	let testt2 = document.querySelector("test2");

	test1.addEventListener("change", test1sel);
	test2.addEventListener("change", test2sel);

	function test1sel() {
  let test111 = test1.value;
  let test222 = test2.value;
  if (test111 == "test11" && test222 == "test21") {
    alert("Выбран test1 и test2");
	}
}

ksa 28.10.2019 08:11

Цитата:

Сообщение от skytec
Например, при выборе test11 и test21 срабатывал alert.

Как вариант...

<select id="test1">
	<option></option>
	<option value="test11" id="test11">test11</option>
	<option value="test12" id="test12">test12</option>
	<option value="test13" id="test13">test13</option>
</select>
<select id="test2">
	<option></option>
	<option value="test21" id="test21">test21</option>
	<option value="test22" id="test22">test22</option>
	<option value="test23" id="test23">test23</option>
</select>
<script type='text/javascript'>
(function(){
	var o1=document.querySelector("#test1");
	o1.addEventListener("change", test);
	var o2=document.querySelector("#test2");
	o2.addEventListener("change", test);
	function test(){
		if (o1.value=='test11' && o2.value=='test21') {
			alert('Ok');
		}
	};
	test();
})();
</script>

skytec 28.10.2019 08:38

ksa,
Спасибо большое, то, что нужно:dance:


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