jQuery A-Z筛选器与数字

时间:2019-03-19 14:17:05

标签: jquery

A-Z过滤器会跳过带有链接号的任何行的问题。

在Alpha列表中选择“ A”时,任何包含电话号码的列表都不会显示。

var alphas = 'abcdefghijklmnopqrstuvwxyz';
var tmp = '';
        for (var x = 0; x < 26; x++) tmp += '<a href="#">' + alphas[x].toUpperCase() + '</a>&nbsp;&nbsp;';
        $('#table_filter').append(tmp);

        $('#table_filter a').click(function () {

           if ($(this).attr('id') == 'show_all') {
              $('#searchNames tbody tr').css('display', 'table-row');
              $('#message').html('displaying all rows');
              return false;
           }

           var alpha = $(this).html();
           $('#searchNames tbody tr').hide().filter(function () {
              var td = $('td:first', $(this));
              return td.length && td.html() && new RegExp('^' + alpha + '.*$', 'i').test(td.html().toLowerCase());
           }).css('display', 'table-row');
           $('#message').html('displaying rows with "' + alpha + '"');
           return false;
        })

演示: http://jsfiddle.net/axedz9rt/2/

1 个答案:

答案 0 :(得分:0)

包括电话号码在内的列表用a标签覆盖。因此,td的值将类似于<a href="#">Ants</a>,并且对于'^' + alpha测试来说是不合适的。