webForumDet fria alternativet
Logga in / Bli medlem

Samma ID hela tiden

JavaScript

3 svar · 377 visningar · startad av SebastianE

Medlem sedan nov. 2004100 inlägg
Frågan#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?

Medlem 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);
    }
Medlem 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! :)

Medlem sedan dec. 20025 483 inlägg
#4

Glöm inte att acceptera som slutgiltigt.

259 ms totalt · 4 externa anrop · v20260731065814-full.05830320
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)