Tablesorter Zebra не работает после удаления строки
$(function() {
// NOTE: $.tablesorter.theme.bootstrap is ALREADY INCLUDED in the jquery.tablesorter.widgets.js
// file; it is included here to show how you can modify the default classes
$.tablesorter.themes.bootstrap = {
// these classes are added to the table. To see other table classes available,
// look here: http://getbootstrap.com/css/#tables
table : 'table table-bordered table-striped',
caption : 'caption',
// header class names
header : 'bootstrap-header', // give the header a gradient background (theme.bootstrap_2.css)
sortNone : '',
sortAsc : '',
sortDesc : '',
active : '', // applied when column is sorted
hover : '', // custom css required - a defined bootstrap style may not override other classes
// icon class names
icons : '', // add "icon-white" to make them white; this icon class is added to the <i> in the header
iconSortNone : 'bootstrap-icon-unsorted', // class name added to icon when column is not sorted
iconSortAsc : 'glyphicon glyphicon-chevron-up', // class name added to icon when column has ascending sort
iconSortDesc : 'glyphicon glyphicon-chevron-down', // class name added to icon when column has descending sort
filterRow : '', // filter row class; use widgetOptions.filter_cssFilter for the input/select element
footerRow : '',
footerCells : '',
even : '', // even row zebra striping
odd : '', // odd row zebra striping
sortMultiSortKey: 'shiftKey',
};
$('#resetsort').click(function(e) {
$("#receipts").trigger('sortReset').trigger('applyWidgets');
return false;
});
// call the tablesorter plugin and apply the uitheme widget
$("#receipts").tablesorter({
// this will apply the bootstrap theme if "uitheme" widget is included
// the widgetOptions.uitheme is no longer required to be set
theme : "blue",
widthFixed: true,
headerTemplate : '{content} {icon}', // new in v2.7. Needed to add the bootstrap icon!
// widget code contained in the jquery.tablesorter.widgets.js file
// use the zebra stripe widget if you plan on hiding any rows (filter widget)
widgets : [ "uitheme", "filter", "zebra" ],
widgetOptions : {
// using the default zebra striping class name, so it actually isn't included in the theme variable above
// this is ONLY needed for bootstrap theming if you are using the filter widget, because rows are hidden
zebra : ["even", "odd"],
// reset filters button
filter_reset : ".reset",
// extra css class name (string or array) added to the filter element (input or select)
filter_cssFilter: "form-control",
// set the uitheme widget to use the bootstrap theme class names
// this is no longer required, if theme is set
// ,uitheme : "bootstrap"
}
})
.tablesorterPager({
// target the pager markup - see the HTML block below
container: $(".ts-pager"),
// target the pager page select dropdown - choose a page
cssGoto : ".pagenum",
// remove rows from the table to speed up the sort of large tables.
// setting this to false, only hides the non-visible rows; needed if you plan to add/remove rows with the pager enabled.
removeRows: false,
// output string - default is '{page}/{totalPages}';
// possible variables: {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
output: '{startRow} - {endRow} / {filteredRows} ({totalRows})'
});
});
function yeah() {
return confirm('Are you sue you want to delete?');
$("#receipts").trigger('applyWidgets');
return false;
}
Привет,
Новичок здесь работает Tablesorter также с Filter & Sort. Все работает отлично (включая кнопки сброса). В качестве предыстории я использую сайт DotNet Nuke с модулем, который доставляет строки данных.
Часть каждой строки является гиперссылкой, которая запускает удаление строки. Он также включает в себя раздел, где я могу вставить немного JavaScript.
Проблема в том, что когда я удаляю строку, виджет зебры не работает. (Все ряды белые)
Другая часть нажатия на гиперссылку на удаление состоит в том, что вы уверены, что появилось сообщение.
Насколько я понимаю, лучший подход здесь заключается в создании функции, поскольку необходимо выполнить 2 действия.
Функция Да, это моя попытка. На странице также есть кнопка сброса, которая отлично работает.
Я попытался поместить свою функцию чуть ниже кнопки сброса, но это не имело никакого эффекта.
Заранее спасибо за любую помощь в запуске этой функции.
1 ответ
Метод sortReset должен автоматически обновлять виджеты после применения, поэтому я не уверен, почему этого не происходит в этом случае.
В любом случае, когда запускается "sortReset", необходимо выполнить некоторую обработку, поэтому использование "applyWidgets" сразу после этого не сработает, потому что должна быть задержка.
Триггер sortReset включает обратный вызов, поэтому попробуйте этот код:
$("#receipts").trigger('sortReset', [function(){
$('#receipts').trigger('applyWidgets');
}]);
Я попытаюсь выяснить, почему это не происходит внутри, когда у меня есть немного свободного времени.