2017-04-14 7 views
0

Wie kann ich nur auf den aktuell ausgewählten Tabellenkopf abzielen (so wie sich die Farbe nur für die ausgewählte Kopfzeile ändert), so dass der daneben liegende Pfeil als einziger zum Drehen umgeschaltet wird auf Klick?Umschaltpfeil nur für den aktuell ausgewählten Tabellenkopf

<table class="container cf"> 
    <thead class="cf"> 
    <tr> 
     <th class="numeric">amount <i class="glyphicon glyphicon-triangle-bottom"></i></th> 
     <th class="numeric">case <i class="glyphicon glyphicon-triangle-bottom"></i></th> 
     <th class="numeric">field 3 <i class="glyphicon glyphicon-triangle-bottom"></i></th> 
     <th class="numeric">field 4 <i class="glyphicon glyphicon-triangle-bottom"></i></th> 
     <th class="numeric">location <i class="glyphicon glyphicon-triangle-bottom"></i></th> 
     <th class="numeric">date <i class="glyphicon glyphicon-triangle-bottom"></i></th> 
    </tr> 
    </thead> 
    <tbody class="verdicts"> 
    <tr> 
     <td data-title="amount" class="amount">8,570,000.00<span class="result"></span></td> 
     <td data-title="case">title</td> 
     <td data-title="practice area">area</td> 
     <td data-title="user">Bob jones</td> 
     <td data-title="location">Orlando, FL</td> 
     <td data-title="date">Mar 6, 2017</td> 
    </tr> 
    <tr> 
     <td data-title="amount" class="amount">$447,115<span class="result"></span></td> 
     <td data-title="case">Another title</td> 
     <td data-title="practice area">area</td> 
     <td data-title="user">Joe Smith</td> 
     <td data-title="location">Orlando, FL</td> 
     <td data-title="date">Mar 6, 2017</td> 
    </tr> 
    </tbody> 
</table> 

jQuery

$(".numeric").click(function() { 
    $(".numeric").removeClass('numeric-active'); 
    $(this).toggleClass("numeric-active"); 
    $(".glyphicon-triangle-bottom").toggleClass("rotate"); 
}); 

JSFIDDLE: LINK

Antwort

0

Versuchen Sie, den folgenden Code

$(".numeric").click(function() { 
    $(".numeric").removeClass('numeric-active'); 
    $(this).toggleClass("numeric-active"); 
    $(this).find('i').toggleClass("rotate"); 
}); 

Hier ist die Arbeits jsfiddle: https://jsfiddle.net/mrdag8bk/8/

0

im Rahmen des Elements Finden Sie Ihr Element, dass das Ereignis auf ausgelöst wurde:

$(".glyphicon-triangle-bottom", this).toggleClass("rotate"); 

Oder

$(this).find(".glyphicon-triangle-bottom").toggleClass("rotate"); 

JSFiddle

+0

Das Problem ist, dass die rote Farbe entfernt werden sollte aus dem Vorherrschen schlau geklickt Header, wenn ein anderer Header angeklickt wird. – Matt

+0

@Matt Das ist das Verhalten, das ich sehen kann. – George

+0

Ich sehe es jetzt die richtige Sache machen, aber es macht dasselbe wie die andere Lösung: eine Pseudo-Klasse :: previous auf das Wort anwenden, also gibt es eine Box, die links neben dem Wort auf toggle erscheint. – Matt

0
$(".numeric").click(function() { 
    $(".numeric").removeClass('numeric-active'); 
    $(this).toggleClass("numeric-active"); 
    $(this).children("i").toggleClass("rotate"); 
}); 

https://jsfiddle.net/mrdag8bk/7/

+0

Das ist genau das, wonach ich gesucht habe, außer dass ich beim Umschalten ein kleines Kästchen links neben der Kopfzeile sehe, das ein fehlendes Glyphon zu sein scheint. Alles was es tun sollte, ist den Pfeil beim Klicken zu drehen, keine Pseudo-Klasse :: before anzuwenden. – Matt

Verwandte Themen