#javascript #jquery #html #twitter-bootstrap #pagination
#javascript #jquery #HTML #twitter-bootstrap #разбивка на страницы
Вопрос:
Я хочу удалить номер разбивки на страницы в начальной загрузке после некоторых поисковых запросов. Рабочий пример здесь: JSFIDDLE
var $rows = $('#employeesTable.table tr.tableBody');
$('#employeeSearchBox').bind('keydown keypress keyup change', function () {
var val = $.trim($(this).val()).replace(/ /g, ' ').toLowerCase();
$rows.show().filter(function () {
var firstName = $(this).find('.employeesFirstName').text().replace(/s /g, ' ').toLowerCase();
var lastName = $(this).find('.employeesLastName').text().replace(/s /g, ' ').toLowerCase();
var firstAndLastName = firstName.concat(" " lastName);
var lastAndFirstName = lastName.concat(" " firstName);
return !~lastName.indexOf(val) amp; !~firstName.indexOf(val) amp; !~firstAndLastName.indexOf(val) amp; !~lastAndFirstName.indexOf(val);
}).hide();
$table.find("tbody tr[style='display: table-row;']").hide().slice(currentPage * numPerPage, (currentPage 1) * numPerPage).show();
});
Я сделал поисковый запрос, чтобы использовать имя и фамилию для фильтрации. В моей таблице отображается только 5 строк для первой страницы в таблице, но когда я удаляю текст запроса в поле поиска, он отображает все строки в таблице, а разбивка на страницы остается прежней. Я хочу это исправить, но я застрял с этим кодом.
У кого-нибудь есть идеи, как это решить? Я не хочу использовать dataTable.js для этого.
РЕДАКТИРОВАТЬ: я могу добавить что-то подобное, и это тоже сработает. Пример здесь: JSFIDDLE
Комментарии:
1. я надеюсь, что вы можете использовать таблицу данных начальной загрузки, подобную этой демонстрации jsfiddle.net/devmgs/6b74w/302
2. Да, я могу это использовать. Но мой проект находится в начальной загрузке 3, а это в начальной загрузке 2. Спасибо, что поделились! 😉
Ответ №1:
Запуск щелчка по active page
после фильтрации сделает свое дело,
$('#employeeSearchBox').bind('keydown keypress keyup change', function () {
var val = $.trim($(this).val()).replace(/ /g, ' ').toLowerCase();
$rows.show().filter(function () {
var firstName = $(this).find('.employeesFirstName').text().replace(/s /g, ' ').toLowerCase();
var lastName = $(this).find('.employeesLastName').text().replace(/s /g, ' ').toLowerCase();
var firstAndLastName = firstName.concat(" " lastName);
var lastAndFirstName = lastName.concat(" " firstName);
$(".active").click(); < -----here
return !~lastName.indexOf(val) amp; !~firstName.indexOf(val) amp; !~firstAndLastName.indexOf(val) amp; !~lastAndFirstName.indexOf(val);
}).hide();
});
Комментарии:
1. @Rohith извини за эту скрипку. Проверьте это сейчас.
2. Спасибо @AnoopJoshi за это решение!