Was ist die beste Methode zum Entfernen einer Tabellenzeile mit jQuery?
javascript
jquery
html-table
Darryl Hein
quelle
quelle
Antworten:
Du hast recht:
Dies funktioniert gut, wenn Ihre Zeile eine hat
id
, wie zum Beispiel:Wenn Sie keine haben
id
, können Sie eine Vielzahl von Selektoren von jQuery verwenden .quelle
Noch besser
quelle
Angenommen, Sie haben eine Schaltfläche / einen Link in einer Datenzelle in Ihrer Tabelle, dann würde so etwas den Trick machen ...
Dadurch wird das übergeordnete Element des übergeordneten Elements der Schaltfläche / des Links entfernt, auf die / das geklickt wird. Sie müssen parent () verwenden, da es sich um ein jQuery-Objekt handelt, nicht um ein normales DOM-Objekt, und Sie müssen parent () zweimal verwenden, da sich die Schaltfläche in einer Datenzelle befindet, die sich in einer Zeile befindet was Sie entfernen möchten. $ (this) ist die Schaltfläche, auf die geklickt wird. Wenn Sie also einfach so etwas haben, wird nur die Schaltfläche entfernt:
Während dies die Datenzelle entfernt:
Wenn Sie einfach auf eine beliebige Stelle in der Zeile klicken möchten, um sie zu entfernen, funktioniert so etwas. Sie können dies leicht ändern, um den Benutzer dazu aufzufordern, oder nur mit einem Doppelklick arbeiten:
Hoffe das hilft ... Ich habe mich selbst ein bisschen darum bemüht.
quelle
Sie können verwenden:
zum Suchen der übergeordneten Tabellenzeile eines Elements.
Es ist eleganter als parent (). Parent (), was ich anfing und bald den Fehler meiner Wege lernte.
--Edit - Jemand wies darauf hin, dass es um das Entfernen der Zeile ging ...
Wie unten ausgeführt, können Sie einfach Folgendes tun:
Ein ähnliches Code-Snippet kann für viele Vorgänge verwendet werden, z. B. zum Auslösen von Ereignissen für mehrere Elemente.
quelle
$(this).closest("tr").remove()
Einfach .. Versuchen Sie dies
quelle
$(this).parent().parent().parent()
zu$(this).closest('tr')
. Es ist robuster und zeigt deutlich, was Sie auswählen.Ist folgendes akzeptabel:
quelle
Vielleicht könnte so etwas auch funktionieren? Ich habe nicht versucht, etwas mit "diesem" zu tun, daher weiß ich nicht, ob es funktioniert oder nicht.
quelle
Sie müssen lediglich das
<tr>
Tag table row ( ) aus Ihrer Tabelle entfernen . Hier ist zum Beispiel der Code zum Entfernen der letzten Zeile aus der Tabelle:* Der obige Code stammt aus diesem jQuery Howto-Beitrag .
quelle
Versuchen Sie dies für die Größe
vollständige Auflistung:
sehen Sie es in Aktion
quelle
Ein anderer von
empty()
:quelle
Wenn sich die zu löschende Zeile möglicherweise ändert, können Sie diese verwenden. Übergeben Sie dieser Funktion einfach die Zeile #, die Sie löschen möchten.
quelle
Ich denke, Sie werden den obigen Code ausprobieren, da er funktioniert, aber ich weiß nicht, warum er irgendwann funktioniert, und dann wird die gesamte Tabelle entfernt. Ich versuche auch, die Zeile durch Klicken auf die Zeile zu entfernen. konnte aber keine genaue Antwort finden.
quelle
wenn Sie HTML wie dieses haben
Wo
userid="123"
ist ein benutzerdefiniertes Attribut, das Sie dynamisch füllen können, wenn Sie die Tabelle erstellen?Sie können so etwas wie verwenden
In diesem Fall kennen Sie die Klasse oder ID des
TR
Tags nicht, können es aber trotzdem löschen.quelle
Ich schätze, dass dies ein alter Beitrag ist, aber ich habe versucht, dasselbe zu tun, und festgestellt, dass die akzeptierte Antwort bei mir nicht funktioniert hat. Angenommen, JQuery ist seit dem Schreiben weitergegangen.
Jedenfalls fand ich, dass Folgendes für mich funktioniert hat:
Ich bin mir nicht sicher, ob dies jemandem hilft. Mein Beispiel oben war Teil einer größeren Funktion, also nicht in einen Ereignis-Listener eingeschlossen.
quelle
Wenn Sie Bootstrap-Tabellen verwenden
Fügen Sie dieses Code-Snippet zu Ihrer bootstrap_table.js hinzu
Dann in deinem
var allowedMethods = [
hinzufügen
'removeRow'
Endlich können Sie verwenden
$("#your-table").bootstrapTable('removeRow',{index:1});
Credits zu diesem Beitrag
quelle
id ist jetzt kein guter Selektor. Sie können einige Eigenschaften für die Zeilen definieren. Und Sie können sie als Selektor verwenden.
und Sie können eine Funktion verwenden, um die Zeile wie folgt auszuwählen (ES6):
quelle
Die einfachste Methode, um Zeilen aus der Tabelle zu entfernen:
Zum Beispiel:
quelle