从HTML表计算过滤结果

时间:2015-03-23 14:11:21

标签: javascript jquery filter html-table

我有一个过滤器,它对一个充满来自Mongo的数据的表进行操作。过滤器本身没有以任何方式连接到Mongo,它基本上只是根据匹配的文本对当前视图中显示的内容进行排序。我还从数据库返回的结果计数与上一页中的先前搜索条件匹配。我现在希望能够在过滤结果时重新计算结果。这是我到目前为止的JavaScript ......

$(document).ready(function(){
   (function($) {
      $('#filter').keyup(function() {
          var rex = new RegExp($(this).val(), 'i');
          $('tbody.searchable').hide();
          $('tbody.searchable').filter(function() {
            return rex.test($(this).text());
          }).show();
            var x = $('tbody').length;  //'tbody' needs to be changed to the current body display after being filtered
            document.getElementById("demo").innerHTML = x;
          })

          $('tbody').on("click", function() {
            if($(this).data('href') !== undefined){
              document.location = $(this).data('href');
            }
         });
       }(jQuery));
     });

截至目前,过滤器将返回tr的总量。但是,我想将其更改为仅显示正在显示的内容。是不是可以用JS和jQuery来做到这一点?

1 个答案:

答案 0 :(得分:1)

更改

var x = $('tbody').length;

var x = $('tbody.searchable:visible').length;

仅计算可见的表体。