2017-12-15 6 views
0

So .. Ich habe 2 jquery Funktionen, die etwas an eine Tabelle anhängen. der erste funktioniert nicht, die zweite Funktion funktioniert? während in der ersten Funktion meine HTML-Var mit den guten Informationen zum Anhängen gefüllt ist, es einfach nicht anhängen?jquery append funktioniert nicht, funktioniert aber in einer anderen Funktion

function buildTable(data) { 
    var html = ""; 
    $.each(data, function (key, value) { 
     html += "<tr>"; 
     html += "<td><a class='delete'><i class='fa fa-thrash'></i></a></td>"; 
     html += "<td class='key'>" + key + "</td>"; 
     html += "<td class='val'>" + value + "</td>"; 
     html += "<td></td>"; 
     html += "</tr>"; 
     //$(".table > tbody").prepend(html); 
     //$(".addrow").append(html); 
     //$("#parameterTable > tbody").append(html); 
    }); 
    $('.addrow').prepend(html); 

    //$(".formTable ").prepend(html); 

} 

Zweite Funktion (die, die Arbeit macht)

Der HTML, wo ich es

<table class="formTable table table-striped table-bordered table-hover dataTable" id="parameterTable"> 
    <thead> 
     <tr> 
      <td class="col-md-2"></td> 
      <td class="col-md-4"> 
       Naam 
      </td> 
      <td class="col-md-4"> 
       Waarde 
      </td> 
      <td class="col-md-2"></td> 
     </tr> 
    </thead> 
    <tbody class="addrow"> 

    </tbody> 
</table> 

Ich habe schon eine Weile mit diesem zu kämpfen, jede Hilfe anhängen müssen wäre schön

+1

Sie tun geladen wurde '.prepend()' und '.append()'. –

+0

ye ich versuchte beide, sie beide arbeiten nicht – dev

+0

Ich denke, Ihr Problem ist, dass in der nicht arbeitenden Fall Sie eine * Liste * von Container-Elementen aufbauen (die '' Elemente) anhängen (gut, vor). Sie wären wahrscheinlich besser dran, alle diese Zeilen in eine '' zu verpacken und dann die ganze '' nach der bestehenden anzuhängen. (Eine Tabelle kann so viele '' Elemente haben, wie Sie möchten.) – Pointy

Antwort

0

Haben Sie es so ausprobiert?

function buildTable(data) { 
     var html = ""; 
     $.each(data, function (key, value) { 
      html += "<tr>"; 
      html += "<td><a class='delete'><i class='fa fa-thrash'></i></a></td>"; 
      html += "<td class='key'>" + key + "</td>"; 
      html += "<td class='val'>" + value + "</td>"; 
      html += "<td></td>"; 
      html += "</tr>"; 
     }); 
     $('.addrow').append(html); 

    } 
+0

yep :(Ich habe es versucht, die html var ist richtig gefüllt, es füllt es einfach nicht – dev

0

Gemäße Verwendung von jQuery Endtags nicht erforderlich:

function addNewParameter() { 
    if (!added) { 
     var newHtml = $('<tr>'); 
     newHtml.append($('<td>')); 
     newHtml.append(
      $('<td>').append(
       $('<input>'.addClass("parameter1").attr({"name":"Parameter1","type":"text"})) 
       ) 
     ); 
     html.append(
      $('<td>').append(
       $('<input>').addClass("parameter2").attr({"name":"Parameter2","type":"text"}) 
      ) 
     ); 

     html.append(
      $('<td>').append(
       $('<a>').addClass('save').append(
        $('<i>').addClass("fa fa-save") 
       ), 
       $('<a>').addClass('undoAdd').append(
        $('<i>').addClass("fa fa-undo") 
        ) 
       ) 
      ); 
     $('.addrow').append(newHtml); 
     added=true; 
     } 
     else { 
     showWarning("u heeft al een parameter toegevoegd, sla deze eerst op."); 
     } 

} 
0

Es war ein Problem mit einem Bootstrap-Dialog, nachdem der Dialog der Append Funktion es hat funktioniert und dann

Verwandte Themen