Goedemorgen,
ik ben momenteel bezig met een stukje jquery-functionaliteit waar ik niet helemaal uit kom.
Het gaat over de volgende functionaliteit:
Ik heb een multicheckbox met provincies. De gebruiker mag meerdere provincies aanvinken.
Op basis van de geselecteerde provincies haal ik via ajax de onderliggende gemeenten. Vervolgens moeten deze aan een tweede multicheckbox worden toegevoegd (en verwijderd als een provincie is uitgevinkt).
Ik moet dan ook nog de initieel aangevinkte waarden onthouden en dan toepassen op de wisselende multicheckboxes maar daar kom ik wel uit.
Bovenstaande functionaliteit krijg ik prima voor elkaar als ik de gemeente-multicheckbox vervang door een multiselect echter de wens gaat uit naar een multicheckbox. Kan iemand mij een juiste richting op wijzen?
ik ben momenteel bezig met een stukje jquery-functionaliteit waar ik niet helemaal uit kom.
Het gaat over de volgende functionaliteit:
Ik heb een multicheckbox met provincies. De gebruiker mag meerdere provincies aanvinken.
Op basis van de geselecteerde provincies haal ik via ajax de onderliggende gemeenten. Vervolgens moeten deze aan een tweede multicheckbox worden toegevoegd (en verwijderd als een provincie is uitgevinkt).
Ik moet dan ook nog de initieel aangevinkte waarden onthouden en dan toepassen op de wisselende multicheckboxes maar daar kom ik wel uit.
Bovenstaande functionaliteit krijg ik prima voor elkaar als ik de gemeente-multicheckbox vervang door een multiselect echter de wens gaat uit naar een multicheckbox. Kan iemand mij een juiste richting op wijzen?
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
29
30
31
32
33
34
35
36
37
38
39
40
| jQuery(function() { $("input[name='provincie[]']").click(function() { var provincie = []; $(':checkbox:checked').each(function(i){ provincie[i] = $(this).val(); }); $('#gemeente').find('option').remove().end(); //verwijder all options //do the ajax call $.ajax({ url:'/ajax/getgemeentebyprovincie', type:'POST', data:{provincie:provincie}, dataType:'json', cache:false, success:function(data){ $.each(data, function(key, value) { var option = document.createElement('option'); option.value = key; option.text = value; gemeente.appendChild(option); }); }, error:function(response){ alert(response.responseText); } }); }); }); |