2016-08-29 3 views
0

Ich habe eine Tabelle, wo ich nach einer Datenänderung etwas Text anhängen muss. Die erste Spalte in der Tabellenzeile enthält die ID, die ich überprüfe, entspricht der Variablen-ID und fügt dann das Wort "Aktualisiert" an. zu der ID in der Tabellenzelle. Ich habe den folgenden Code, aber von dem, was ich getestet habe, scheint es nicht die Gleichheit zwischen der Tabellenzeilen-ID und den Variablen-ID-Werten zu bekommen. Kann mir bitte jemand in die richtige Richtung zeigen, damit das funktioniert?Tabellenspaltenwert mit Text anfügen, wenn IDs übereinstimmen

var id = $('#id').val(); 

     $("td:first-child").each(function() { 
      if ($(this).text() == id){ 
       $('<p>Updated!</p>').appendTo('$(this).text()'); 
      } 
     }); 
+0

Stellen Sie eine funktionierende Probe (die auch Ihre HTML enthält), und nicht nur Ihre js-Code. – Dekel

+0

Versuchen Sie, die Typen der * Tabellenzeilen-ID * und der * Variablen-ID * (z. B. typeof $ (this) .text() ') zu protokollieren. Wenn sie unterschiedliche Typen haben, versuchen Sie, die Typen Ihrer zwei Variablen gleich zu machen. – matthiasunt

+0

@Matthias, beide geben String-Typen zurück, wenn sie typeof verwenden –

Antwort

3

Sie sind nicht appendTo (http://api.jquery.com/appendto/) ordnungsgemäß verwendet wird. Bitte überprüfen Sie die Dokumentation. Wenn Sie ein Element anhängen, müssen Sie es an ein anderes Element (nicht an einen Text) anhängen. Außerdem haben Sie Zitate um das falsche Stück $(this).text(), also ist das eine Zeichenfolge und wir suchen nach einem Element. Versuchen Sie es zu ändern:

var id = $('#id').val(); 

$("td:first-child").each(function() { 
    if ($(this).text() == id){ 
     $('<p>Updated!</p>').appendTo($(this)); 
    } 
}); 
+0

Ich habe meinen Code so geändert, dass die Appendto-Funktion jetzt funktioniert. –

0

Lesen Sie mehr über appendTo() Funktion. Es sollte so aussehen:

$('<p>Updated!</p>').appendTo($(this)); 

es im Grunde fügt Text oder HTML-Inhalte und das Element, nicht in eine Zeichenfolge (die Sie zur Verfügung gestellt).


appendTo() auf jQuery API Dosc: http://api.jquery.com/appendto/

0

Ich fand, was das Problem mit der Gleichheit zwischen den 2 Variablen war. Ich musste die Werte trimmen().

Verwandte Themen