2016-08-11 4 views
0

geleert habe ich eine zweispaltige Tabelle, die eine Liste von Filtern zeigt, und diese Filter können durch Klicken auf ein kleines „x“ Symbol neben jedem entfernt werden:Entfernen Tabellenzeile, wenn bestimmte Zelle hat jquery

<tr> 
    <td class="filter-point">State is</td> 
    <td class="tag-column"><div class="tag">California <i class="fa fa-close"></i></div></td> 
</tr> 

$("td.tag-column .tag i").click(function(){ 
    $(this).parent().remove(); 
}); 

Ich möchte in der Lage sein, die gesamte Zeile zu entfernen, wenn alle Tags entfernt wurden (wenn td.tag-Spalte leer ist), aber ich kann nicht scheinen, die richtige Syntax oder Methode zum Anhängen der Zeilenleerung zu finden zur Leerung des Tags.

Antwort

1

können Sie die aktuelle Klickereignis erweitern nach jedem Tag Entfernung, um zu überprüfen, ob die Zeile keine Tags hat links:

$("td.tag-column .tag i").click(function(){ 
    var td = $(this).closest('td'); 
    $(this).parent().remove(); //remove tag 
    if (!td.children('.tag').length) td.parent().remove(); //if no tags left, remove row 
}); 
1

Sie es tun können, wie folgt.

$("td.tag-column .tag i").click(function() { 
    $(this).parent().remove(); 
    var tr = $(this).closest('tr'); 
    tr.find('.tag').length || tr.remove(); 
}); 
Verwandte Themen