Выбор строк в Tablesorter - PullRequest
       17

Выбор строк в Tablesorter

3 голосов
/ 07 октября 2009

Я пользователь Tablesorter плагин jQuery (я уверен, другие знают об этом) в моем проекте. Мне нужно добавить функцию, в которой, когда пользователи нажимают на строку, она выбирается. Я попробовал следующий код, но он не работает.

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

 });

Может кто-нибудь сказать мне, как лучше всего это сделать? Есть ли какой-нибудь плагин для этого?

Заранее спасибо,
Абдель Олакара

Ответы [ 5 ]

4 голосов
/ 26 октября 2014

Чтобы включить переключение выбора и отмены выбора через jQuery's 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;
}
1 голос
/ 07 октября 2009

То, что у вас есть, кажется правильным. Вы выполняете его после того, как документ готов?

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

В качестве альтернативы вы можете использовать live событий.

$('#myTable tr').live('click', function() {
     $(this).addClass('selected');
});
1 голос
/ 07 октября 2009

Это выглядит правильно для меня. У вас есть класс CSS, определенный для tr.selected?

Может быть, когда вы нажимаете, вы нажимаете элемент td, а не tr. Может быть, вам нужно использовать родителя:

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

как-то так (не проверено):

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

 });
0 голосов
/ 09 октября 2009

Кажется, что ваше событие клика отлично работает на моем столе, мне просто интересно, как вы отмените выбор, нажав еще раз? Привязка переменной к параметру is is кажется легким решением, но как мне это сделать?

Прошу прощения за то, что я ответил на ваш вопрос другим вопросом, и за то, что я новичок в JS.

0 голосов
/ 07 октября 2009

Я думаю, что Tablesorter воссоздает всю таблицу, поэтому не может быть никаких изменений, поскольку он «уничтожает» событие click, присоединенное к tr. Вы должны попробовать это, используя живое событие и посмотреть, работает ли это: Документация для живых событий на jQuery.com

...