Javascript - check list

Tags:    javascript

Heej Udviklere.
Har nu siddet og kodet i 7 timer, og mit hovede begynder at give op, så jeg har virkelig brug for et par friske øjne. Er igang med at skrive en addFriend funcktion, hvor jeg vil have de til at tjekke en class af buttons, og sende mig id'et på hvilken knap det blev trykket. Jeg er helt sikker på, at der er et nemt svar på det, og det bare er mig der sejler rundt lige nu, så dont judge. d:

Fold kodeboks ind/udJScript kode 


På forhånd mange tak!
Mvh. Wunderstrudel



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Der er vel ingen grund til at lave det så pisse kompliceret. Der findes et princip, der kaldes event delegation, brug det i stedet for at tilføje en listener til hver knap: http://davidwalsh.name/event-delegate .

Der er heller ikke umiddelbart nogen grund til at lave det hele i en stor funktion, del det op. Forneden er lidt pseudo kode, der beskriver hvordan det kunne gøres:
Fold kodeboks ind/udJScript kode 




Husk nu at fortælle hvad dit problem eller stopklods er..

Men jeg prøver at gætte. Mit gæt (og nu kan det værre jeg dummer mig fuldstændigt siden du ikke fortæller dit problem) er at din kode kører men du får det samme data modtaget. Skyldneren er ikke en bug men en feature. Eller jo det er også en bug. Bugfeaturen kaldes for en closure og problemet er at i dine handler funktioner opfanger du ikke i korrekt, men i stedet en reference til i. Men i ændrer sig i løkken og ender derfor med at være på yes.length. Så når din knap trykkes skal den sende id som er værdien af variablen i som nu er forkert.

En mulig løsning er at kalde en funktion som så laver en handler funktion til dig. Når du kalder den bliver værdien af i opfanget som parametre og du kan bruge den i kroppen. Har lavet et eksempel:

Fold kodeboks ind/udJScript kode 




Indlæg senest redigeret d. 29.01.2015 22:57 af Bruger #14645

var yes = document.getElementsByClassName("yes");
var no = document.getElementsByClassName("no");
for(i = 0; i < yes.length; i++) {
if (yes && no) {


er yes og no listen altid lige lange ??
>if (yes && no) {
dvs elementet har 2 classe på: både yes og no
hvilke må betyde du først tilføjer personen, for derefter at slette ham igen





Indlæg senest redigeret d. 30.01.2015 06:09 af Bruger #16075
t