Показать сообщение отдельно
  #8 (permalink)  
Старый 20.02.2018, 17:46
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Конечно можно!
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<button>-</button><input type="text"><button>+</button><br>
	<button>-</button><input type="text"><button>+</button><br>
	<button>-</button><input type="text"><button>+</button><br>
	<script>

		var sklon = (n, arr) => n+" "+arr[(n%100>4 && n%100<20)?2:[2, 0, 1, 1, 1, 2][(n%10<5)?n%10:5]],
		ap = (val,n) => inp[n].value = sklon(val, arr[n]);

		var arr = [['комната', 'комнаты', 'комнат'],['санузел', 'санузла', 'санузлов'],['час', 'часа', 'часов']],
		inp = document.querySelectorAll('input');
		inp.forEach((el, i)=>{
			el.value = 0;
			var val;
			el.previousElementSibling.onclick = e => {
				val = parseInt(el.value);
				if (val > 0) val--;
				ap(val,i);
			};
			el.nextElementSibling.onclick = e => {
				val = parseInt(el.value);
				val++;
				ap(val,i);
			};
			el.onchange = e => {
				val = el.value;
				ap(parseInt(el.value),i);
			}
		});

	</script>
</body>
</html>

Последний раз редактировалось j0hnik, 20.02.2018 в 22:01.
Ответить с цитированием