[js] alle checkboxen (un)checken

Pagina: 1
Acties:
  • 232 views sinds 30-01-2008
  • Reageer

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Ja, het lijkt hierop:http://gathering.tweakers.net/forum/list_messages/544693/1?limit=25 allen verteld ie niet hoe die het gedaan heeft. Zit al een paar dagen te tobben er op, scriptjes zoeken enzo want ik komt er niet uit.
Kan iemand mij helpen want ik snap het niet..
Heb wel heel veek topics gevonde met soortgelijk maar word ik ook niet veel wijzer van.. Moet gewoon iets worden met een lusje en een ubound() ofzo.. de gegevens komen uit een dbase en het aantal kan varieten van 0 tot 15 met verschillende ID's
code:
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
29
30
<html>
<head>
  <script>
    <!--
    function doCheckbox() {
      /*
        als doAll true is doe dan alle opties aanzetten,
        als doAll false is doe dan alle opties uitzetten.
      */
      if (document.all('doAll').value == true) {
        for (var i=1; i<= ; i++) {
        
        }
      }
    }
    //-->
  </script>
</head>
<body>
<form method='post'>
  <input type='checkbox' name='doAll' onClick='doCheckbox();'>
  <u>Selecteer alles</u><br>
  <input type='checkbox' name='optie1' value='optie1'>Optie 1<br>
  <input type='checkbox' name='optie2' value='optie2'>Optie 2<br>
  <input type='checkbox' name='optie3' value='optie3'>Optie 3<br>
  <input type='checkbox' name='optie4' value='optie4'>Optie 4<br>
  <input type='checkbox' name='optie5' value='optie5'>Optie 5<br>
</form>
</body>
</html>

Is dit misschien iets voor in een faq ?

https://k1600gt.nl


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

crisp

Devver

Pixelated

Kant en klaar; hoewel je dit met wat zoekwerk en tutorials waarschijnlijk wel had kunnen vinden (lijkt me dus geen FAQ item):
code:
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
<html>
<head>
<script type="text/javascript">

function doCheckbox() {

  var aanuit = (document.myForm.doAll.checked)? true:false;
  var optie = document.myForm.optie;
  for (var i=0; i < optie.length ; i++) {
    optie[i].checked = aanuit;
  }

}

</script>
</head>
<body>
<form name="myForm" method="post">
  <input type="checkbox" name="doAll" onClick="doCheckbox()">
  <u>Selecteer alles</u><br>
  <input type="checkbox" name="optie" value="optie1">Optie 1<br>
  <input type="checkbox" name="optie" value="optie2">Optie 2<br>
  <input type="checkbox" name="optie" value="optie3">Optie 3<br>
  <input type="checkbox" name="optie" value="optie4">Optie 4<br>
  <input type="checkbox" name="optie" value="optie5">Optie 5<br>
</form>
</body>
</html>

Intentionally left blank


  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Thx,
Ik moest al die boxen dus als 1 naam zien zie ik.. en ik had value ipv check gebruikt en length = ubound ? ik dacht dat length was om de lengte van een string te bepalen..

https://k1600gt.nl


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

crisp

Devver

Pixelated

Op maandag 08 juli 2002 08:47 schreef shades het volgende:
Thx,
Ik moest al die boxen dus als 1 naam zien zie ik.. en ik had value ipv check gebruikt en length = ubound ? ik dacht dat length was om de lengte van een string te bepalen..
Als je meerdere form elementen dezelfde naam geeft dan wordt het een array. .length geeft bij een string de lengte van een string, en bij een array object het aantal elementen in de array :)
De value wordt in de post meegestuurd als een checkbox gechecked is (als een checkbox niet gechecked is wordt er ook niets in de post meegestuurd!).

Intentionally left blank


  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Op maandag 08 juli 2002 08:57 schreef crisp het volgende:

[..]

Als je meerdere form elementen dezelfde naam geeft dan wordt het een array. .length geeft bij een string de lengte van een string, en bij een array object het aantal elementen in de array :)
Hoe verwarrend :D
De value wordt in de post meegestuurd als een checkbox gechecked is (als een checkbox niet gechecked is wordt er ook niets in de post meegestuurd!).
Ah, das handig om te weten. Heel de form wordt door een asp pagina afgehandeld. Waarschijnlijk zitten al de waarden die geselecteerd zijn dan in de form-collection..

https://k1600gt.nl


Verwijderd

Op maandag 08 juli 2002 08:39 schreef crisp het volgende:
code:
1
  var aanuit = (document.myForm.doAll.checked)? true:false;
Waar dient deze regel voor ??

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

crisp

Devver

Pixelated

Op maandag 08 juli 2002 12:18 schreef Tizzwat het volgende:

[..]

Waar dient deze regel voor ??
Is hetzelfde als:
code:
1
2
3
4
5
if (document.myForm.doAll.checked) {
  var aanuit = true;
} else {
  var aanuit = false;
}

edit:

Dit werkt natuurlijk ook, en is korter:
[code]function doCheckbox() {

var optie = document.myForm.optie;
for (var i=0; i < optie.length ; i++) {
optie[i].checked = document.myForm.doAll.checked;
}

}[/code]
:)

Intentionally left blank


Verwijderd

[quote]
Op maandag 08 juli 2002 12:44 schreef crisp het volgende:
Is hetzelfde als:
code:
1
2
3
4
5
if (document.myForm.doAll.checked) {
  var aanuit = true;
} else {
  var aanuit = false;
}
Jah, dat snap ik, maar waar heb je et voor nodig !?
Dit werkt natuurlijk ook, en is korter:
code:
1
2
3
4
5
6
7
8
function doCheckbox() {

  var optie = document.myForm.optie;
  for (var i=0; i < optie.length ; i++) {
    optie[i].checked = document.myForm.doAll.checked;
  }

}
Jah, dat leek mij dus ook...

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

crisp

Devver

Pixelated

Op maandag 08 juli 2002 13:34 schreef Tizzwat het volgende:

[..]

Jah, dat snap ik, maar waar heb je et voor nodig !?
[..]

Jah, dat leek mij dus ook...
Korter is natuurlijk niet altijd beter; de 1e manier is imho gewoon een stuk eenduidiger voor soortgelijke constructies waar je bijvoorbeeld andere voorwaarden moet afvragen om te bepalen of vinkjes aan of uitgezet moeten worden...

Intentionally left blank


  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Op maandag 08 juli 2002 13:42 schreef crisp het volgende:

[..]

Korter is natuurlijk niet altijd beter; de 1e manier is imho gewoon een stuk eenduidiger voor soortgelijke constructies waar je bijvoorbeeld andere voorwaarden moet afvragen om te bepalen of vinkjes aan of uitgezet moeten worden...
Persoonlijk vind ik hoe korter hoe beter, dat probeer ik zelf ook altijd.. (alles moet tenslotte over de lijn heen..) alleen als je naar leesbaarheid gaat kijken zijn if / else constructies sneller te begrijpen..

https://k1600gt.nl


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

crisp

Devver

Pixelated

Op maandag 08 juli 2002 17:22 schreef shades het volgende:

[..]

Persoonlijk vind ik hoe korter hoe beter, dat probeer ik zelf ook altijd.. (alles moet tenslotte over de lijn heen..) alleen als je naar leesbaarheid gaat kijken zijn if / else constructies sneller te begrijpen..
Meestal gebruik ik in ontwikkelversies uitgebreidere code; later optimaliseer ik dat pas. Het voordeel is dat je beter kan debuggen, of snel wat dingetjes toevoegen.
Uiteindelijk zul je toch een balans moeten vinden tussen leesbaarheid, onderhoudbaarheid enerzijds en snelheid, grootte anderzijds; je kan overal wel mooie one-liners van maken, maar de kans dat je het zelf na 3 weken nog snapt als er toch een bug in blijkt te zitten is dan vrij klein ;)

Intentionally left blank


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Ik zou altijd kiezen voor de eerste variant.
Sneller (alhoewel je dat niet snel zal merken) en overzichtelijker (imho) en dat vind ik persoonlijk belangrijker dan 1 regeltje minder code.

Today's subliminal thought is:


Verwijderd

op mijn topic kwamen helemaal geen reactie's ;)

maar ik zal wel even zeggen hoe ik het gedaan heb:

[script]
<SCRIPT LANGUAGE="JavaScript">
<!--
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";}

else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";}
}

//-->
</SCRIPT>
[/script]


en in de BODY

[script]
<FORM ACTION="wis_items.cfm" METHOD="post" NAME="wisitems">

<INPUT TYPE="Checkbox" NAME="maakSelectie" onClick="this.value=check(this.form.wisKeuze)">Alles selecteren

<INPUT TYPE="Checkbox" NAME="wisKeuze" VALUE="1"> 1
<INPUT TYPE="Checkbox" NAME="wisKeuze" VALUE="2"> 2
<INPUT TYPE="Checkbox" NAME="wisKeuze" VALUE="3"> 3
<INPUT TYPE="Checkbox" NAME="wisKeuze" VALUE="4"> 4
<INPUT TYPE="Checkbox" NAME="wisKeuze" VALUE="5"> 5 etc.

</FORM>
[/script]

zuux-S

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

plukvandepetteflat:
[snip]
men gebruike [code ][/code] tags ipv [script] :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Op dinsdag 09 juli 2002 09:26 schreef drm het volgende:

[..]

men gebruike [code ][/code] tags ipv [script] :)
daar kwam ik ook achter ja |:(
Pagina: 1