Check/ Uncheck all

Status
Niet open voor verdere reacties.

raymond88

Gebruiker
Lid geworden
24 feb 2010
Berichten
287
Ik heb een query die uitgevoerd word, en dan de checkbox namen geeft als "maakselectie[]". Ik wil middels de main checkbox checkEM, de functie dus uitvoeren. Wat ik dus nu heb;

<input type="checkbox" name="checkEm" value="TRUE" onclick="checkUncheck()" />

[JS]function checkUncheck(){
// Declareren van formulier naam, voor gehele functie
var form = document.mijnformulier;
// Als checkEm is gechecked
if ( form.checkEm.checked == 1 ){
for ( var ix = 0; ix < form.elements.length; ++ix ) {
var fld = form.elements[ix];
// Veldnaam van positie 0 t/m 12 pakken, dus zonder array ([])
if ( fld.name.substring(0,12) == "maakselectie" ) {
fld.checked = true;
}
}
}
// Als checkEm niet gechecked is
else {
for ( var ix = 0; ix < form.elements.length; ++ix ){
var fld = form.elements[ix];
// Veldnaam van positie 0 t/m 12 pakken, dus zonder array ([])
if ( fld.name.substring(0,12) == "maakselectie" ) {
fld.checked = false;
}
}
}
}[/JS]

Weet niet of de code geheel netjes geschreven is? Afgezien daarvan, wil ik voor diegene die geselecteerd zijn de hele table row een andere achtergrond kleur meegeven. Dus als je iedere selecteerd, dat de rijen waarvan de checkbox gechecked is, een andere achtergrond kleur krijgt. Is deze niet gechecked, dan gaat 'ie terug naar zijn eigen achtergrond.

Ook indien mogelijk, als ik iedere selecteer, en dan toch ééntje niet wil hebben, dat als ik die uncheck, de main checkbox "CheckEM" dus ook niet gechecked is, aangezien dus niet alles aangevinkt is. Ik heb wel wat dingen geprobeerd, maar ik ben simpelweg niet ervaren genoeg op het gebied van javascript en online/ google heb ik niet veel nuttigs (te begrijpen code) gevonden.

Alvast bedankt.
 
Ah. Nou, met de code is niets mis (tenminste, qua code niet).

Nu, wat mischien een makkelijker idee is, is om in plaats van een document.form, gewoon alle elementen met naam maakselectie[] aan te vragen. En daarop alles loslaten. Zoiets:

[JS]function doeStuff(handle)
{
var elems = document.getElementsByName('maakselectie[]');
var i, current, l = elems.length;
var maakChecked = handle.checked; //vanuit parameter

//maakChecked is dus true als ie 'aan' staat, en false als ie 'uit' staat. Handig!

for(i=0; i<l; i++)
{
current = elems; //maak het jezelf makkelijk!

//eventueel meer dingen?

current.checked = maakChecked;
}
}[/JS]
HTML:
<input type="checkbox" name="checkEm" value="true" onclick="doeStuff(this)" />
stuk korter, eh? :thumb:
 
Zie nu pas je post, misschien een beetje laat.. Code is inderdaad een stuk korter, en handiger om te lezen. Thanks. Voel me zelf alleen nog niet zo thuis met die javascript. Wordt nog wat meer verdiepen, naast alle PHP, CSS en HTML ^^
 
Ah, nou, een tip: begin met een goede basis html, ga daarna over naar css. Javascript moet je eigenlijk pas aan beginnen als je die 2 echt goed onder de knie hebt :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan