Korni: Parameter übergeben?!?!

Hi,

meine frage:
Ich habe eine schleife in einer funktion, in der automatisch eine id durch ein counter gesetzt wird, also die schleife wird 5 mal durchlaufen also gibt
gibt es dann 5 ids (anzeige0,anzeige1,anzeige2,anzeige3,anzeige4)
-------------------------------------
c=-1;
function tasks(task_id_array) {
//Hier steht noch mehr drinn, aber für uns grad nicht von bedeutung
x = document.getElementById('tasks')
for (a in task_id_array)
   {
    c        =  c+1;
    zeiten =  "<td id='anzeige"+c+"' onclick='qstart()'>"+ task_t_time +"</td>";
   }
 x.innerHTML =zeiten;
}
-------------------------------------
Diese id soll dann an die funktion qstart() übergeben werden, da diese dann ein innerHTML auf die ID machen soll. In dieser funktion qstart() ist eine Stoppuhr drinnen, die nur in dem <td> mit der entsprechenden  ID den inhalt ersetzen soll.
-------------------------------------
function qstart()
 {
  anzeige=document.getElementById("anzeige"+c);
  var t2=new Date();
  var tdif=t2-t1;
  var ts=tdif/1000;
  anzeige.innerHTML=ts;
  id=setTimeout("messen()",10);
 }
------------------------------------

Wie mache ich das? Da c immer die Zahl des letzten durchlaufs hat, wird immer nur im letzten td die zeit gemessen. Ich will aber dass die Zeit da gemessen wird wo ich drauf klick, deswegen muss die ID stimmen.

VIELEN VIELEN DANK SCHONMALLLL!!!!

  1. Hallo,

    c=-1;
    function tasks(task_id_array) {
    x = document.getElementById('tasks')
    for (a in task_id_array)
       {
        c        =  c+1;

    zeiten =  "<td id='anzeige"+c+"' onclick='qstart("+'"anzeige'+c+'"'+")'>"+ task_t_time +"</td>";

    }
    x.innerHTML =zeiten;
    }

    function qstart(elementid)

    {

    anzeige=document.getElementById(elementid);

    var t2=new Date();
      var tdif=t2-t1;
      var ts=tdif/1000;
      anzeige.innerHTML=ts;
      id=setTimeout("messen()",10);
    }

    Gruß aus Berlin!
    eddi

  2. Hi !

    function qstart()
    {

    var meine_var="anzeige"+c;

    anzeige=document.getElementById(meine_var);

    var t2=new Date();
      var tdif=t2-t1;
      var ts=tdif/1000;
      anzeige.innerHTML=ts;
      id=setTimeout("messen()",10);
    }

    Gruß

    Hans

    1. var meine_var="anzeige"+c;
      anzeige=document.getElementById(meine_var);

      Gruß
      Hans

      Hi Hans,

      ja so einfach hab ichs mir anfangs auch gedacht ;)
      Aber da c in einer for schleife steht und da auch erhöht wird,
      ist der wert den die nächste funktion übergeben bekommt immer
      die anzahl der Elemente in dem Array -1!
      D.h. es wird immer in das letzte td geschrieben weil var meine_var="anzeige"+c; immer das gleiche ist wie
      meine_var="anzeige"+mein_array.length;

      Du verstehst?

      Gruß,
      Korni