搜索查询后删除分页编号

时间:2014-06-27 10:12:37

标签: javascript jquery html twitter-bootstrap pagination

我想在一些搜索查询后删除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) & !~firstName.indexOf(val) & !~firstAndLastName.indexOf(val) & !~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 个答案:

答案 0 :(得分:0)

在过滤完成后触发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) & !~firstName.indexOf(val) & !~firstAndLastName.indexOf(val) & !~lastAndFirstName.indexOf(val);
    }).hide();
});

Fiddle