Hilfe bei Schleifen

nambrot

Member
14 Februar 2008
9
0
hi
sorry aber ich wusst nicht recht wie ich das Problem nennen sollte.
Ich will ein programm schreiben(für das iPhone/iPod Touch wenns jemanden interssiert)
dazu habe ich ein array mit Datei namen:

content[]

das gebe ich mittels einer for-schleife in einer tabelle aus und bei einem tap auf diese Zeile soll eine funktion, die auf das File im Content ausgeführt werden:

for(var i in content){
Neue Tabellenzeile;
Zeile.onTap=function(){
alert(content);
}
}

Dann hat man also bei 5 Files 5 Tabellenzeilen.
Und wenn man auf eine Tabellenzeile klickt dann soll der Name ausgegeben werden.
Nur Blöderweise macht er das nicht, er gibt immer nur den Namen der letzten Datei an, weil ja die Zeielen generiert werden und erst beim Tap die Funktion ausgeführt wird. ZU dem Zeitpunkt ist die initialisierungsvariable schon das letzte.
Wie kann ich dieses Problem umgehen???
 
Ich hatte das selbe Problem in JavaScript.
Meine Lösung für diese Problem war eine eigene Funktion zu erstellen. Falls jemand ne bessere Lösung hat, immer her damit :), würde mich auch interessieren.

Code:
function setTap(elem, value) {
  elem.onTap = function() {
    alert(value);
  }
}

/*[...]*/

for(var i in content){
  Neue Tabellenzeile;
  setTap(Zeile, content[i]);
}
 
ich hab die Lösung gefunden, einfach So:
for var i in content {
neue Tabellenzeile
tabellenzeile.value=conten
tabllenziele.ontap=function(){
alert(this.value)
}
so gehts auch