Beste leden,
Ik loop enigsinds vast op een stukje javascript. De site heeft een configurator waarvoor een javascript array beschikbaar is met alle mogelijk combinaties.
Als voorbeeld zijn er de volgende array combinaties mogelijk:
[1, 8, 3],
[1, 8, 5],
[1, 4, 5],
[2, 4, 3],
[2, 4, 5]
Een bezoeker heeft bijvoorbeeld de volgende opties:
Groep 1
[] 1
[] 2
Groep 2
[] 8
[] 4
Groep 3
[] 3
[] 5
Stel de gebruiker kiest bij groep 1 optie 1 dan moeten de het veld 4 gedisabled worden bij groep 2 aangezien de combinatie niet meer mogelijk is. Dit werkt prima met de volgende code:
Dit gaat goed bij de eerste groep, maar als die bij de keuze van groep 2 komt in de loop dan gooit die alle combinaties weg die er mogelijk zijn van groep 1 en de combinaties van groep 2 zet die ook allemaal uit afgezien van zijn eigen. Op zich een logisch resultaat. Hoe ga ik ervoor zorgen dat die bij vervolg keuze rekening houdt met groep 1 en groep 2 en enkel resultaten uit zet bij groep 3.
In dit voorbeeld gaat hem dus om 3 groepen, maar in principe is het mogelijk om veel dieper te gaan qua groepen.
Iemand die mij de weg kan wijzen? In mijn ogen klinkt mijn verhaal wel duidelijk, maar ik kan me voorstellen dat het voor de lezers niet helemaal duidelijk is. Mocht dit zo zijn laat het dan even weten.
Piete
Ik loop enigsinds vast op een stukje javascript. De site heeft een configurator waarvoor een javascript array beschikbaar is met alle mogelijk combinaties.
Als voorbeeld zijn er de volgende array combinaties mogelijk:
[1, 8, 3],
[1, 8, 5],
[1, 4, 5],
[2, 4, 3],
[2, 4, 5]
Een bezoeker heeft bijvoorbeeld de volgende opties:
Groep 1
[] 1
[] 2
Groep 2
[] 8
[] 4
Groep 3
[] 3
[] 5
Stel de gebruiker kiest bij groep 1 optie 1 dan moeten de het veld 4 gedisabled worden bij groep 2 aangezien de combinatie niet meer mogelijk is. Dit werkt prima met de volgende code:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
| for(var i = 0; i < group_loop; i++) { //loopen door alle geselecteerde velden per groep $.each(combos, function(key, combination) { //combos bevat alle combinaties if($.inArray(groups[i], combination) == -1) { //indien de keuze niet bestaat in de combinatie dan verwinderen delete combos[key]; } }); } |
Dit gaat goed bij de eerste groep, maar als die bij de keuze van groep 2 komt in de loop dan gooit die alle combinaties weg die er mogelijk zijn van groep 1 en de combinaties van groep 2 zet die ook allemaal uit afgezien van zijn eigen. Op zich een logisch resultaat. Hoe ga ik ervoor zorgen dat die bij vervolg keuze rekening houdt met groep 1 en groep 2 en enkel resultaten uit zet bij groep 3.
In dit voorbeeld gaat hem dus om 3 groepen, maar in principe is het mogelijk om veel dieper te gaan qua groepen.
Iemand die mij de weg kan wijzen? In mijn ogen klinkt mijn verhaal wel duidelijk, maar ik kan me voorstellen dat het voor de lezers niet helemaal duidelijk is. Mocht dit zo zijn laat het dan even weten.
Piete