Vink onderliggende checkboxes aan probleem

Status
Niet open voor verdere reacties.

DocBrown

Nieuwe gebruiker
Lid geworden
16 apr 2009
Berichten
1
Goedendag,

Om een categoriekeuze te maken heb ik nu een overzicht van de categorieën en de onderliggende subcategorieën met daarvoor checkboxes. Vervolgens wordt dit formulier gesubmit en alle aangevinkte categorieën weggeschreven in de database.

Voorbeeld:
HTML:
[ ]Hoofdcategorie
 |-- [x] Subcategorie
 |-- [ ] Subcategorie 2

Nu wilde ik graag de mogelijkheid implementeren dat wanneer men op een hoofdcategorie klikt, de onderliggende categorieën ook worden aangevinkt. Daarvoor heb ik deze javascript gevonden:

HTML:
<script language="javascript">

function checkAll(checkname, toggle) {
	if(checkname)
	{
	  for (i = 0; i < checkname.length; i++)
	  checkname[i].checked = toggle.checked? true:false
	}
}

</script>

Dit script doet het prima in de meeste gevallen, hij toggled ook netjes alles weer uit wanneer je de hoofdcategorie uit vinkt.

Máár, hier komt het probleem.

Wanneer er maar één subcategorie is, dan werkt hij niet. Dan krijg ik een undefined melding, vandaar dat ik er later if(checkname) bij heb gezet om die foutmelding te onderdrukken. Maar hoe kan ik er nu voor zorgen dat hij toch deze eenzame onderliggende categorie aanvinkt?

Ik roep de functie aan als volgt:

HTML:
<input type="checkbox" ... onClick="checkAll(document.categories.sub_***,this)">
Waarbij sub_*** dan een categorie ID is die elk van de subcategorieën als id waarde heeft gekregen. Dit is even goed het geval bij slechts één subcategorie.

Alvast bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan