计算来自 HTML Table 的筛选结果

Count Filtered Results from HTML Table

我有一个过滤器,它作用于 table,其中填充了来自 Mongo 的数据。过滤器本身没有以任何方式连接到 Mongo,它基本上只是根据匹配的文本对当前视图中显示的内容进行排序。我还有一些结果 return 从数据库中匹配上一页的先前搜索条件。我现在希望能够在过滤结果时重新计算结果。这是我的 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));
     });

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

改变

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

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

只计算可见的 table 个尸体。