Ich habe ein kleines Problem. Wenn ich ein Formular mit wenigen inputs[type="text"]
und divs um sie herum (plus und minus) habe ... wie inkrementieren und dekrementieren Eingang ohne Erstellen von Variablen, Klassen und IDs für jedes Tag? jemand sagte, ich Arrays verwenden kann, aber ich weiß nicht, wie es zu tun ...Arbeiten mit DOM Ende Ereignisse
Das Beispiel mit dieser Art von Lösung ist - Klassen für jeden Tag ...
var child = document.querySelector("#child");
var adult = document.querySelector("#adult");
var rooms = document.querySelector("#rooms");
var plusChild = document.querySelector(".plus_child");
var minusChild = document.querySelector(".minus_child");
var childV = child.value;
var adultV = adult.value;
var roomsV = rooms.value;
plusChild.addEventListener("click", function(){
if(childV<10){
childV++;
child.value = "" + childV;
}
});
minusChild.addEventListener("click", function(){
if(childV>0) {
childV--;
child.value = "" + childV;
}
});
.main-form {
width: 500px;
margin: 0 auto;
}
.input {
display: inline-block;
width: 100px;
height: 15px;
background: none;
outline: none;
}
.plus {
display: inline-block;
background: #999999;
width: 15px;
height: 15px;
}
.minus {
display: inline-block;
background: #999999;
width: 15px;
height: 15px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<form action="" class="main-form">
<div class="input-item">
<span>child</span>
<div class="toggle plus plus_child">+</div>
<input type="text" class="input" placeholder="0" id="child">
<div class="toggle minus minus_child">-</div>
</div>
<br>
<div class="input-item">
<span>adult</span>
<div class="toggle plus">+</div>
<input type="text" class="input" placeholder="0" id="adult">
<div class="toggle minus">-</div>
</div>
<br>
<div class="input-item">
<span>rooms</span>
<div class="toggle plus">+</div>
<input type="text" class="input" placeholder="0" id="rooms">
<div class="toggle minus">-</div>
</div>
</form>
<script src="script.js"></script>
</body>
</html>
sieht interessant aus ... aber wie man es in reinem JS schreibt? –
und ich habe ein Problem - wenn ich querySelectop verwenden, wählen Sie nur die erste, aber mit querySelectorAll erstellen Array und Skript tun "für" am Anfang und nachdem es Tasten nicht funktionieren ... wenn ich das so mache: –
Funktion clickFunction1 (Element) {// do click handle stuff;} Funktion clickFunction2 (Element) {// do click handle sachen;} var textInputs = document.querySelectAll ('input [type = text]'); für (var i = 0; i