Aantal gecheckte checkboxen

Status
Niet open voor verdere reacties.

ErikBooy007

Terugkerende gebruiker
Lid geworden
24 mei 2007
Berichten
3.814
Ik heb een groot aantal checkboxen (+/- 250) op mijn pagina. Deze worden dynamisch gegenereerd door PHP. Maar het komt er op neer dat ze als volgt genoemd worden:

HTML:
<input type="checkbox" name="functie_Commercieel_Commercieel_Medewerker_Binnendienst">
<input type="checkbox" name="functie_Cosmetisch_Manicure">
<input type="checkbox" name="functie_Bouw_en_Klussen_Glaszetter">

Ik heb alle delen direct achter functie is een een PHP array en de delen daarachter ook weer.

Nu is mijn vraag,

Hoe kan ik zien hoeveel checkboxen er gechecked zijn? Er mogen namelijk maximaal 5 stuks aangevinkt worden. Is er een manier om de allemaal langs te lopen en dan per checkbox te kijken of deze gecheckt is? Of misschien een functie om te kijken hoeveel checkboxen wiens naam met functie beginnen gechecked zijn?
 
Ik ben iets te vroeg geweest met mijn vraag. Ik heb TOCH nog maar even doorgeprutst en ik heb het nu voor elkaar!

Voor diegenen die nog willen weten hoe ik het gedaan heb:

HTML:
<script type="text/javascript">
	
function ervaringHide(cat, functie){
	var functieArray = new Array();
	<?php 
        $sql = "SELECT id,name FROM functies WHERE type='cat' ORDER BY name ASC";
        $result = mysql_query($sql, $connection);
        while($row = mysql_fetch_assoc($result)){
        	$sql2 = "SELECT name FROM functies WHERE parent = " . $row['id'];
        	$result2 = mysql_query($sql2, $connection);
        	while($row2 = mysql_fetch_assoc($result2)){
        		echo 'functieArray.push("check_selector_', $row['name'], '_', $row2['name'], '");', "\n";
        	}
        }
        
        ?>
        var count = functieArray.length;
        var number = 0;
	for(i = 0; i < count; i++){
		var box = document.getElementById(functieArray[i]);
		if(box.checked){
			number++;
		}
	} 
	ableDisable(number);
	function ableDisable(number){ 
	if(number > 4){
		for(i = 0; i < count; i++){
			var box = document.getElementById(functieArray[i]);
			if(box.checked == false){
				box.disabled = true;
			}
		}
	} else {
		for(i = 0; i < count; i++){
			var box = document.getElementById(functieArray[i]);
				box.disabled = false;
			}
		}
	}

Het kan vast nog effectiever aangezien ik dezelfde for-loop er 3 keer in heb zitten, maar dat is voor mij nu even niet belangrijk.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan