Frage

I Benutzer Tablesorter ein jQuery-Plugin (ich bin sicher, dass andere darüber wissen) in meinem Projekt. Ich brauche eine Funktion hinzuzufügen, wo in, wenn Benutzer auf eine Zeile, es ausgewählt wird. Ich habe versucht, den folgenden Code, aber seine nicht funktioniert.

$('#myTable tr').click(function(event) {
     $(this).addClass('selected');

 });

Kann mir jemand sagen, den besten Weg, es zu tun? Gibt es eine Plug-in bereits für das?

Vielen Dank im Voraus,
Abdel Olakara

War es hilfreich?

Lösung

Ich denke, dass Tablesorter die gesamte Tabelle neu erstellt, so dass sein könnte, warum gibt es keine Änderung, da sie „zerstört“ das Ereignis Klicken auf den tr angebracht. Sie sollten es versuchen, ein Live-Event und sehen, ob das funktioniert: Dokumentation für Live Events in jQuery.com

Andere Tipps

aktivieren aus- und abzuwählen Makeln über jQuery toggleClass:

$(document).ready( function() {
    /* jQuery v1.11.1 */
    $( "table.tablesorter tbody tr" ).click(function() {
      $( this ).toggleClass( "selected" );
    });
});

/* CSS for hover row & select/lock the row with color */
table.tablesorter tbody tr:hover td {
    background-color: #f4f5f6;
}
table.tablesorter tbody tr.selected td {
    background-color: #f4f5f6;
}

korrigieren Das sieht für mich. Haben Sie eine CSS-Klasse definiert haben für tr.selected?

Vielleicht, wenn Sie klicken, drücken Sie die td-Element und nicht die tr. Vielleicht müssen Sie das übergeordnete verwenden:

http://docs.jquery.com/Traversing/parent

so etwas wie diese (nicht getestet):

$('#myTable td').click(function(event) {
         $(this).parent("tr").addClass('selected');

 });

Was haben Sie erscheint korrekt. Sind Sie es, nachdem das Dokument ist die Ausführung bereit?

$(function() {
    $('#myTable tr').click(function() {
         $(this).addClass('selected');
    });
});

Alternativ können Sie verwenden live Ereignisse.

$('#myTable tr').live('click', function() {
     $(this).addClass('selected');
});

Ihre Click-Ereignis zu arbeiten scheint ganz gut auf meinem Tisch, ich frage mich nur, wie Sie durch einen Klick wieder abzuwählen würde? eine Variable zu binden, ob ist, wie eine einfache Lösung ausgewählt scheint, aber wie sollte ich das tun?

mein Pardon Ihre Frage mit einer anderen Frage und meine Neuheit zu JS beantworten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top