Doris Matchustica: Varibale Wert hinten anhängen!?

Hallo,

ich habe ein Problem!
Ich möchte in einer for Schleife einer Varibale (zab) jeweils am Ende des Strings einen neuen Wert anhängen. Nur ich weiß nicht wie es gehen soll? In meinem Beipsiel wird die Variable (tab) jedes mal überschrieben.

for (var i = 1; i <= 10; i++)
                       {
                       var tab = '<tr>'
                      +'<td>2. <input type="text" name="input_art_nr['+i+']" value=""></td>'
                      +'<td><input type="text" name="input_anzahl['+i+']" value=""></td>'
                      +'<td><input type="text" name="input_preis['+i+']" value=""><input type="checkbox" name="checkbox_preis2" value="checkbox"></td>'
                       +'</tr>';
                       }

  1. Hallo Doris,

    delete(tab);

    for (var i = 1; i <= 10; i++)
                           {

    var tab += '<tr>'
                             tab+='<td>2. <input type="text" name="input_art_nr['+i+']" value=""></td>'
                             tab+='<td><input type="text" name="input_anzahl['+i+']" value=""></td>'
                             tab+='<td><input type="text" name="input_preis['+i+']" value=""><input type="checkbox" name="checkbox_preis2" value="checkbox"></td>'
                             tab+='</tr>';

    }

    Gruß aus Berlin!
    eddi

    1. Hallo eddi

      Danke ertsmal!

      Ich habe allerdings immer noch ein kleines Problem...

      Wenn ich nun tr in meinen folgenden Aufruf anhänge wird mir die Variable tr erst gar nicht ausgegeben...

      Was ist daran falsch?

      So siehts aus:

      delete(tr);
                            for (var i = 1; i <= 10; i++)
                              {
                              var tr += '<tr>'
                             +='<td>2. <input type="text" name="input_art_nr['+i+']" value=""></td>'
                             +='<td><input type="text" name="input_anzahl['+i+']" value=""></td>'
                             +='<td><input type="text" name="input_preis['+i+']" value=""><input type="checkbox" name="checkbox_preis2" value="checkbox"></td>'
                              +='</tr>';
                              }

      document.getElementById('zack').innerHTML = '<table width="100%" border="1">'
                             +'<tr>'
                              +'<td>1. <input type="text" name="input_art_nr[0]" value=""></td>'
                              +'<td rowspan="5" valign="top">-</td>'
                            +'<td><input type="text" name="input_anzahl[0]" value=""></td>'
                            +'<td><input type="text" name="input_preis[0]" value=""><input type="checkbox" name="checkbox_preis1" value="checkbox"></td>'
                            +'<td rowspan="5" valign="top"> &euro;</td>'
                             +'</tr>'
                             + tr
                           +'</table>';

      1. Hallo Doris,

        vergleiche bitte

        delete(tr);
                              for (var i = 1; i <= 10; i++)
                                {
                                var tr += '<tr>'
                               +='<td>2. <input type="text" name="input_art_nr['+i+']" value=""></td>'
                               +='<td><input type="text" name="input_anzahl['+i+']" value=""></td>'
                               +='<td><input type="text" name="input_preis['+i+']" value=""><input type="checkbox" name="checkbox_preis2" value="checkbox"></td>'
                                +='</tr>';
                                }

        mit

        var tab += '<tr>'
                                 tab+='<td>2. <input type="text" name="input_art_nr['+i+']" value=""></td>'
                                 tab+='<td><input type="text" name="input_anzahl['+i+']" value=""></td>'
                                 tab+='<td><input type="text" name="input_preis['+i+']" value=""><input type="checkbox" name="checkbox_preis2" value="checkbox"></td>'
                                 tab+='</tr>';

        (In JS wird jede Zeile eines Scriptcodes vom Interpreter seperat betrachtet.)

        Gruß aus Berlin!
        eddi

        1. Hallo,

          ich weiß ich hatte noch etwas rumgebastelt weil es nicht ging... Es muss so heissen es geht aber wie gesagt nicht, woran liegt das?

          var tr += '<tr>'
                                 tr+='<td>2. <input type="text" name="input_art_nr['+i+']" value=""></td>'
                                 tr+='<td><input type="text" name="input_anzahl['+i+']" value=""></td>'
                                 tr+='<td><input type="text" name="input_preis['+i+']" value=""><input type="checkbox" name="checkbox_preis2" value="checkbox"></td>'
                                  tr+='</tr>';

          Aber es funktioniert trotzdem nicht.

          1. Hallo

            kann mir denn niemand sagen warum das nicht geht?

            document.getElementById('wurst).innerHTML = '<a href="#"><img src="/button_aendern.gif" border="0"></a>'
                                 +'<table width="100%" border="1">'
                                   +'<tr>'
                                    +'<td>1. <input type="text" name="input_art_nr[0]" value=""></td>'
                                    +'<td rowspan="5" valign="top">-</td>'
                                  +'<td><input type="text" name="input_anzahl[0]" value=""></td>'
                                  +'<td><input type="text" name="input_preis[0]" value=""><input type="checkbox" name="checkbox_preis1" value="checkbox"></td>'
                                  +'<td rowspan="5" valign="top"> &euro;</td>'
                                   +'</tr>'
                                   + tr                      +'</table>';

            1. Hallo Doris,

              kann mir denn niemand sagen warum das nicht geht?

              Och menno...

              (In JS wird jede Zeile eines Scriptcodes vom Interpreter seperat betrachtet.)

              Alles, was in einer Zeile steht, wird einer Variablen oder Eigenschaft zugewiesen:

              falsch:

              var t="Hallo"   // eine Zeile
              +" Welt"        // eine weitere Zeile alerdings für den interpreter sinnleer

              richtig:

              var t="Hallo"
                  t+=" Welt"

              Gruß aus Berlin!
              eddi