Hallo leden,

ik zit met het volgende:

Ik heb een x-aantal selectievakken genaamd aantalX (afhankelijk van het aantal kleuren waarin een product leverbaar is)

De X achter "aantal" is een variabel nummer, beginnend bij 0 optellend met 1.

Ook heb ik een HIDDEN FIELD genaamd: Totaal (deze staat als standaard value 0)

Nu wil ik met javascript bereiken dat wanneer het aantal van een van de velden wijzigd, dit opgeteld / of afgetrokken wordt van het aantal in Totaal.

Dat moet zeg maar "live" gebeuren, dus zonder eerst een formulier te hoeven posten.
Zoiets?

<?php
<!DOCTYPE html>
<html>
<head>
<script>

function counttotal() {
var total = 0;
// verkrijg een array van alle <input> tags
var arr = document.getElementsByTagName('input');
// loop door alle inputs
for(var x = 0 ; x < arr.length ; x++) {
// filter alleen <input type="checkbox"
if(arr.item(x).type == 'checkbox') {
// alleen de checkboxen met name="aantalX"
if(arr.item(x).name.substr(0,6) == 'aantal') {
// als de listbox aangevinkt is
if(arr.item(x).checked)
total++;
}
}
}
// geef de value van het element met id="totaal" een nieuwe waarde
document.getElementById('totaal').value = total;

}
</script>
</head>
<body>

<form>
<input type="checkbox" name="aantal0" onchange="counttotal();">blauw
<input type="checkbox" name="aantal1" onchange="counttotal();">groen
<input type="text" id="totaal" name="totaal">
</form>


</body>
</html>
?>

Reageren