Avatar billede encorez Nybegynder
10. december 2009 - 19:42 Der er 1 kommentar og
1 løsning

Marker alle checkboxes

Hej

I en form har jeg nogle radiobuttons (som er statiske) og jeg har en del checkboxes (som genereres på baggrund af brugerens data).
Disse checkboxe ser nu sådan ud
<input type="checkbox" name="bluegroups[]" value="$group_name" >
Navnet har en [] bagpå så jeg kan fange dem alle i et array når formen sendes.

Jeg vil gerne lave en checkbox som markere alle de andre.
<input type="checkbox" name="checkall" onclick="checkedAll(frm1);" >

Jeg har et javascript som ser sådan ud
checked=false;
function checkedAll (frm1) {

    var aa= document.getElementById('frm1');
    if (checked == false)
          {
          checked = true
          }
        else
          {
          checked = false
          }
    for (var i =0; i < '10'; i++)
    {
    aa.elements[i].checked = checked;
    }
      }
Tallet 10 har jeg blot sat ind. Før var en en kode for antallet.

Men det markere både nogle af mine radiobuttons og jeg kan kun få den til at markere den først checkbox.

Nogle gode ideer?
Avatar billede tjens Nybegynder
12. december 2009 - 20:31 #1
<input type="checkbox" id="checkallfrm1" onclick="checkAll('frm1')" ><br>

function checkAll (frm) {
    setTimeout('doCheckAll("' + frm + '")', 2);
}
function doCheckAll (frm) {
    var aa= document.getElementById(frm);
    var check = document.getElementById('checkall' + frm).checked;
    for (var i = 0; i < aa.length; i++) {
        if (aa[i].name == "bluegroups[]") {
            aa[i].checked = check;
        }
    }
}

Der brugt settimeout for at kunne aflæse All-checkboksen efter onclick: Nogle browsere kører onclick før statusændring.
Avatar billede encorez Nybegynder
19. december 2009 - 22:50 #2
Mange tak for det. Jeg troede ikke man kunne få det til at virke fordi navnet på alle boxene var det samme.

Men det virker perfekt. Super
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester