webForumDet fria alternativet

Samma ID hela tiden

3 svar · 377 visningar · startad av SebastianE

SebastianEMedlem sedan nov. 2004100 inlägg
#1

Sitter med en ajax-applikation och har stora problem. Jag har tagit ut ett värde med ID med en array. Array ser ut ungefär så här

ajax.byggResultat[0]=001;
ajax.byggResultat[1]=003;
o.s.v.

Nu vill jag ha min array till en länk och har skrivit ner följande kod

for(var i = ajax.borja; i <2 /*ajax.sluta*/; i++) {
        li = document.createElement('li');
        aStuga=document.createElement('a');
        idBygg=ajax.idArray[i];
        alert(idBygg);
        aStuga.title = 'Visa stuga';
        aStuga.href = '#';
        aStuga.onclick = function(){ajax.byggResultat(idBygg); return false;}
        ajax.boxInn.appendChild(li).appendChild(aStuga).appendChild(document.createTextNode(ajax.resultatArray[i]));
        ul.appendChild(li);
    }

Problemet är bara när jag skickar med IDet till funktionen ajax.byggResultat så får den den senaste IDet.
Om arrayen skulle se ut som den jag skrev ovan för så skulle varje länk i loopen få samma ID.

Någon som har tips på en lösning?

Peter SMedlem sedan dec. 20025 483 inlägg
#2

En idé:

for(var i = ajax.borja; i <2 /*ajax.sluta*/; i++) {
        li = document.createElement('li');
        aStuga=document.createElement('a');
        idBygg=ajax.idArray[i];
        alert(idBygg);
        aStuga.title = 'Visa stuga';
        aStuga.href = '#';
        aStuga.id = idBygg;
        aStuga.onclick = function(){ajax.byggResultat(this.id); return false;}
        ajax.boxInn.appendChild(li).appendChild(aStuga).appendChild(  document.createTextNode(ajax.resultatArray[i]));
        ul.appendChild(li);
    }
SebastianEMedlem sedan nov. 2004100 inlägg
#3

Peter S skrev:

En idé:

for(var i = ajax.borja; i <2 /*ajax.sluta*/; i++) {
        li = document.createElement('li');
        aStuga=document.createElement('a');
        idBygg=ajax.idArray[i];
        alert(idBygg);
        aStuga.title = 'Visa stuga';
        aStuga.href = '#';
        aStuga.id = idBygg;
        aStuga.onclick = function(){ajax.byggResultat(this.id); return false;}
        ajax.boxInn.appendChild(li).appendChild(aStuga).appendChild(  document.createTextNode(ajax.resultatArray[i]));
        ul.appendChild(li);
    }

Tusen tack säger jag bara! :)

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Glöm inte att acceptera som slutgiltigt.

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)