Probleem:
Een formulier met een aantal vragen waarbij de antwoorden gegeven kunnen worden als één of meerdere checkboxes.
Het name-attribuut van de checkboxes is bv. name="kleur[]" om zodoende serverside deze waardes in een array op te vangen.
Nu wil ik via jquery de values van de "gecheckte" checkboxes weergeven:
Het probleem: Ik wil dus de waarde van "this.name" gebruiken als key (of naam array) zodat deze code kan gelden voor meerdere vragen (allen met hun eigen reeks checkboxes).
Wanneer ik ARR gebruik (zonder [this.name]) werkt het, met dien verstande dat het weergeven binnen bv. een txt value* de waarde van alle gecheckte checkboxes getoond worden, ook die van vraag 2, 3 etc.
(* zie laatste regel, txt velden heten v + this.name waarbij this.name uiteraard de waarde is van name="" van de rij checkboxes)
Iemand een idee? In PHP kan je bv:
of
gebruiken. Is zoiets mogelijk in Javascript?
Mijn pogingen:
var = this.name;
ARR[var]
én
$ARR["'+this.name'"]
en nog wat varianten maar hij pakt het niet.
Een formulier met een aantal vragen waarbij de antwoorden gegeven kunnen worden als één of meerdere checkboxes.
Het name-attribuut van de checkboxes is bv. name="kleur[]" om zodoende serverside deze waardes in een array op te vangen.
Nu wil ik via jquery de values van de "gecheckte" checkboxes weergeven:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
| var ARR = new Array(); $("input:checkbox") .button() .click( function() { ARR[this.name] = new Array(); $("input[@name='"+this.name+"']:checked").each(function() { ARR[this.name].push($(this).val());}); ARR[this.name].shift(); $('#v'+this.name).val(ARR[this.name].join(',')); } ); |
Het probleem: Ik wil dus de waarde van "this.name" gebruiken als key (of naam array) zodat deze code kan gelden voor meerdere vragen (allen met hun eigen reeks checkboxes).
Wanneer ik ARR gebruik (zonder [this.name]) werkt het, met dien verstande dat het weergeven binnen bv. een txt value* de waarde van alle gecheckte checkboxes getoond worden, ook die van vraag 2, 3 etc.
(* zie laatste regel, txt velden heten v + this.name waarbij this.name uiteraard de waarde is van name="" van de rij checkboxes)
Iemand een idee? In PHP kan je bv:
PHP:
1
2
3
4
| $var = "voorbeeld"; $array[$var] = "waarde"; echo $array['voorbeeld']; |
of
PHP:
1
2
3
4
| $var = "voorbeeld"; ${"$var"] = "waarde"; echo $voorbeeld; |
gebruiken. Is zoiets mogelijk in Javascript?
Mijn pogingen:
var = this.name;
ARR[var]
én
$ARR["'+this.name'"]
en nog wat varianten maar hij pakt het niet.
.