Toon posts:

[JS] check alle checkboxen, hoe bij checkboxnaam[]

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik bouw een lijst met resultaten op uit een MySQL database met PHP, voor elk resultaat staat een checkbox:

code:
1
<input type="checkbox" name="vzid[]" value="<?php echo $verz_id_selected; ?>">


dmv POST gaan de aangevinkte delen mee naar de volgende pagina, maar hoe maak ik nu een optie "Selecteer alles"? Ik heb een oplossing gevonden maar die werkt niet door de [] die achter mijn checkbox naam staan, haal ik die weg, dan kan ik de resultaten weer niet als array posten.

ps deze oplossing had ik gevonden: http://www.shiningstar.ne...ript/checkboxes.asp?ID=AW

  • Skaah
  • Registratie: Juni 2001
  • Niet online
code:
1
2
3
4
5
6
7
8
function checkAll(formEl, name) {
 inputs = formEl.getElementsByTagName('INPUT');
 for (i = 0; i < inputs.length; i++) {
  if (inputs[i].type == 'checkbox' && inputs[i].name == name) {
   inputs[i].checked = true;
  }
 }
}

[ Voor 32% gewijzigd door Skaah op 08-08-2005 18:20 ]


Verwijderd

Topicstarter
ben een verschrikkelijke noob als 't op JS aankomt, hoe roep ik de functie nou aan? formulier heet declForm.

edit : Ik heb 't al voor elkaar, heb 'm iets aangepast zodat ik geen name mee hoef te geven.

[ Voor 38% gewijzigd door Verwijderd op 08-08-2005 18:30 . Reden: Lackaj is een noob ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:32

crisp

Devver

Pixelated

Om werkelijk *al* je input's af te gaan is wel heel erg overdone; dit werkt doorgaans prima:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script type="text/javascript">

function checkAll(form, name)
{
    var el = form.elements[name], i = el.length;
    if (i)
    {
        while (i--)
            el[i].checked = true;
    }
    else
    {
        el.checked = true;
    }
}

</script>
<form action="#">
    <fieldset>
        <legend>my form</legend>
        vzid: <input type="checkbox" name="vzid[]"><br>
        vzid: <input type="checkbox" name="vzid[]"><br>
        vzid: <input type="checkbox" name="vzid[]"><br>
        vzid: <input type="checkbox" name="vzid[]"><br>
        vzid: <input type="checkbox" name="vzid[]"><br>
        <input type="button" onclick="checkAll(this.form, 'vzid[]')" value="check all">
    </fieldset>
</form>

Intentionally left blank


Verwijderd

Topicstarter
Bedankt!

De enige inputs zijn de checkboxen, dus in mijn geval maakt ''t weinig uit ;)