[javascript] Configuratie disable radio button

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 44718

Topicstarter
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:

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

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 12-07 22:24
Moet het ook mogelijk zijn om de volgorde van de groepen anders in te vullen, bijv. door te beginnen bij groep 2? Moet het mogelijk zijn om een item bij groep 1 en 2 gekozen te hebben en vervolgens terug te gaan naar groep 1 en deze weer te wijzigen? Kan het zo zijn dat daarna de huidige selectie voor groep 2 niet meer geldig is en ongedaan gemaakt moet worden?

Kortom; heb je het gedrag wel helemaal goed gespecificeerd? Schrijf dat eerst eens helemaal netjes uit en dan zal de implementatie vanzelf duidelijk worden.

Acties:
  • 0 Henk 'm!

Anoniem: 44718

Topicstarter
Voor mijn idee heb ik wel een redelijk beeld, bij deze antwoord op je vragen om het beeld te verbeteren:

Volgorde kan afwijken, instelbaar door de beheerder, maar dit is globaal over alle producten.
Ja wijzigen moet kunnen. Kan nu ook wel, maar hij laat dan wel een radio button geselecteerd welke gedisabled is. Maar dit kan ik nog wel oplossen.
Wat ook wel goed om te weten is, de gebruiker bezoekt een product en dan kamer altijd een standaard combinatie reeds geselecteerd.

Ik heb daarnaast ook al aardig zitten zoeken op het internet, maar het is niet zo makkelijk te vinden.

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 12-07 22:24
Als je achteraf kunt wijzigen; hoe besluit je welke combinatie 'wint' als er een conflict is?

Voorbeeldje:

gegeven een set geldige combinaties:
[1, 4, 5]
[1, 8, 3]
[2, 8, 5]
en gegeven de huidige selectie:
[1,4,5]

Ik wissel de 4 van de tweede groep in voor 8.
Dan zijn er twee mogelijkheden:
A: [1,8,5] komt op de 3e groep na overeen met [1,8,3]. De 3e groep moet opnieuw geselecteerd worden.
B: [1,8,5] komt op de 1e groep na overeen met [2,8,5]. De 1e groep moet opnieuw geselecteerd worden.

Welke wordt het dan?