Jeena Paradies: onclick verhalten und foo has no properties

Beitrag lesen

Hallo,

07    for(i; i <= trs.length; i++) {
08
09        var tr = trs[i];
10        var buttons = tr.getElementsByTagName('button');
11        var id = tr.getAttribute('id').slice(1);
12
13        buttons[0].onclick = sendInfo.addGoal(id, 0);
14    }
Dann ist es für mich eine einzige Zeile, für alle Buttons.
Oder was fehlt da jetzt noch?

Ja das war ein Vereinfachtes Beispiel. Im Beispiel greife ich ja -- so weit ich das verstehe -- nur auf den ersten Button im tr zu. In einem tr gibt es aber -- über verschiedene td verteilt -- bis zu 15 Buttons, die ich dann einzeln mit:

13        buttons[0].onclick = sendInfo.addGoal(id, 0);

14        buttons[1].onclick = sendInfo.delGoal(id, 0);
   15        buttons[2].onclick = sendInfo.addGoal(id, 1);
   16        buttons[3].onclick = sendInfo.delGoal(id, 1);
   17        [und so weiter bis buttons[14] oder so]

Ich habe mir das aber jetzt anders überlegt und mit Daniels Hilfe aus dem #selfhtml Chat so etwas hinbekommen was jetzt auch funktioniert, und ich verstehe jetzt endlich was du damit meinst wenn du sagst das lokale Variabeln nicht ganz lokal sind oder so ;-)

function addBehaviour() {  
  
    var table = document.getElementsByTagName('table')[0];  
    var trs = table.getElementsByTagName('tr');  
  
    for(var i=0; i < trs.length; i++) {  
  
        var tr = trs[i];  
        var id = tr.getAttribute('id').slice(1);  
        var buttons = tr.getElementsByTagName('button');  
  
        var local = function()  {  
          var sendInfo = new Action(id);  
          buttons[0].onclick = function() { sendInfo.addGoal('heim'); };  
          buttons[1].onclick = function() { sendInfo.delGoal('heim'); };  
          buttons[2].onclick = function() { sendInfo.addGoal('gast'); };  
          buttons[3].onclick = function() { sendInfo.delGoal('gast'); };  
          // und so weiter  
       };  
       local();  
    }  
}

Grüße
Jeena Paradies

--
Open- vs. Closed Source Software - Verdienstmöglichkeiten | Jlog | Gourmetica Mentiri