It’s worked without buttons.
But how to apply input addition with help of + and – buttons.
How can I solve this with javascript or jquery?
JavaScript
x
53
53
1
// addition of three input in span Tag
2
$("input[type=number]").change(function() {
3
var val = 0;
4
//loop through each inputs
5
$("input[type=number]").each(function() {
6
//sum values
7
val += (isNaN(parseInt($(this).val()))) ? 0 : parseInt($(this).val());
8
})
9
//put in a span
10
$(".total-select").text(val);
11
});
12
13
function inputNumber(el) {
14
15
var myElements = document.getElementsByClassName('numbers');
16
var sum = 0;
17
for (var i = 0; i < myElements.length; i++) {
18
if (myElements[i].value)
19
sum = sum + parseInt(myElements[i].value);
20
}
21
22
if (sum <= 8) {
23
el.dataset.prevvalue = el.value;
24
25
} else {
26
el.value = el.dataset.prevvalue;
27
}
28
29
}
30
31
32
function minusoperation(inputNumber) {
33
var el = document.getElementById('number' + inputNumber);
34
if (parseInt(el.value)) {
35
el.value = parseInt(el.value) - 1;
36
37
} else {
38
el.value = 0;
39
}
40
el.onchange();
41
}
42
43
function plusoperation(inputNumber) {
44
var el = document.getElementById('number' + inputNumber);
45
46
if (parseInt(el.value)) {
47
el.value = parseInt(el.value) + 1;
48
} else {
49
el.value = 1;
50
}
51
el.onchange();
52
53
}
JavaScript
1
11
11
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
2
3
4
<span class="total-select" name="4">0</span> <br>
5
<button type="submit" value="+" onclick="minusoperation(1)" class="minus">-</button>
6
<input type="number" class="numbers" id="number1" name="1" min="0" max="8" onchange="inputNumber(this)" data-prevvalue=0 value="0" />
7
<button type="submit" value="+" onclick="plusoperation(1)" class="plus">+</button><br>
8
9
<button type="submit" value="+" onclick="minusoperation(2)" class="minus">-</button>
10
<input type="number" class="numbers" id="number2" name="2" min="0" max="8" onchange="inputNumber(this)" data-prevvalue=0 value="0" />
11
<button type="submit" value="+" onclick="plusoperation(2)" class="plus">+</button>
Advertisement
Answer
This is what I actually want. The sum of three input displayed in the span tag.
JavaScript
1
60
60
1
// addition of three input in span Tag
2
// $("input[type=number]").change(function() {
3
// var val = 0;
4
// //loop through each inputs
5
// $("input[type=number]").each(function() {
6
// //sum values
7
// val += (isNaN(parseInt($(this).val()))) ? 0 : parseInt($(this).val());
8
// })
9
// //put in span
10
// $(".total-select").text(val);
11
// });
12
13
function inputNumber(el) {
14
15
16
var myElements = document.getElementsByClassName('numbers');
17
var sum = 0;
18
for (var i = 0; i < myElements.length; i++) {
19
if (myElements[i].value)
20
sum = sum + parseInt(myElements[i].value);
21
22
}
23
24
if (sum <= 8) {
25
el.dataset.prevvalue = el.value;
26
//add ID of SPAn tag for getting the addtion of total inputs
27
document.getElementById("total").innerHTML = sum;
28
29
} else {
30
el.value = el.dataset.prevvalue;
31
32
}
33
34
35
}
36
37
38
39
function minusoperation(inputNumber) {
40
var el = document.getElementById('number' + inputNumber);
41
if (parseInt(el.value)) {
42
el.value = parseInt(el.value) - 1;
43
44
} else {
45
el.value = 0;
46
}
47
el.onchange();
48
}
49
50
function plusoperation(inputNumber) {
51
var el = document.getElementById('number' + inputNumber);
52
53
if (parseInt(el.value)) {
54
el.value = parseInt(el.value) + 1;
55
} else {
56
el.value = 1;
57
}
58
el.onchange();
59
60
}
JavaScript
1
12
12
1
<span class="total-select" name="4" id="total">0</span> <br>
2
<button type="submit" value="+" onclick="minusoperation(1)" class="minus">-</button>
3
<input type="number" class="numbers" id="number1" name="1" min="0" max="8" onchange="inputNumber(this)" data-prevvalue=0 value="0" disabled/>
4
<button type="submit" value="+" onclick="plusoperation(1)" class="plus">+</button><br>
5
6
<button type="submit" value="+" onclick="minusoperation(2)" class="minus">-</button>
7
<input type="number" class="numbers" id="number2" name="2" min="0" max="8" onchange="inputNumber(this)" data-prevvalue=0 value="0" disabled/>
8
<button type="submit" value="+" onclick="plusoperation(2)" class="plus">+</button><br>
9
10
<button type="submit" value="+" onclick="minusoperation(3)" class="minus">-</button>
11
<input type="number" class="numbers" id="number3" name="3" min="0" max="8" onchange="inputNumber(this)" data-prevvalue=0 value="0" disabled/>
12
<button type="submit" value="+" onclick="plusoperation(3)" class="plus">+</button>