Выбор строк в Tablesorter
-
20-09-2019 - |
Вопрос
I пользователь Сортировщик таблиц плагин jQuery (я уверен, что другие знают об этом) в моем проекте.Мне нужно добавить функцию, при которой, когда пользователи нажимают на строку, она выбирается.Я попробовал следующий код, но у него ничего не получилось.
$('#myTable tr').click(function(event) {
$(this).addClass('selected');
});
Кто-нибудь может подсказать мне, как лучше всего это сделать?Есть ли уже какой-нибудь плагин для этого?
Заранее спасибо,
Абдель Олакара
Решение
Я думаю, что Tablesorter воссоздает всю таблицу, так что, возможно, именно поэтому изменений нет, поскольку он "уничтожает" событие click, прикрепленное к tr.Вам следует попробовать это с помощью живого события и посмотреть, сработает ли это: Документация для живых мероприятий на jQuery.com
Другие советы
Чтобы включить выбор и отменить выбор переключения с помощью toggleClass в jQuery:
$(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;
}
По-моему, это выглядит правильным.У вас есть CSS-класс, определенный для tr.selected?
Возможно, когда вы щелкаете, вы попадаете на элемент td, а не на tr.Может быть, вам нужно использовать родительский:
http://docs.jquery.com/Traversing/parent
что-то вроде этого (непроверенное):
$('#myTable td').click(function(event) {
$(this).parent("tr").addClass('selected');
});
То, что у вас есть, кажется правильным.Выполняете ли вы его после того, как документ будет готов?
$(function() {
$('#myTable tr').click(function() {
$(this).addClass('selected');
});
});
В качестве альтернативы, вы могли бы использовать live
Мероприятия.
$('#myTable tr').live('click', function() {
$(this).addClass('selected');
});
Ваше событие click, похоже, отлично работает на моем столе, мне просто интересно, как бы вы отменили выбор, щелкнув еще раз?привязка переменной к тому, выбрано ли значение is, кажется простым решением, но как бы я это сделал?
Простите, что я отвечаю на ваш вопрос другим вопросом и моей новизной в JS.