带有{{#each}}的Javascript表,过滤无效

时间:2013-02-21 08:26:57

标签: javascript meteor

我有一个表格,我想在其中制作过滤功能。

该表通过把手{{#each}}显示来自meteor集合的记录。

代码如下所示:

    keyup #filterbox': function(event){

      var table = document.getElementById('example');

      var len = table.rows.length;

      for(var i=1; i< table.rows.length; i++){

        var cellText = table.rows[i].cells[1].innerHTML.toLowerCase();

        if(!(cellText.match(document.getElementById('filterbox').value.toLowerCase()))){

            table.rows[i].style.display = "none";
        }
        else{
            table.rows[i].style.display = "block";
        }               
      }
   };

当我用预定义的单元格键入匹配的字母时,此代码有效。

但是当我清除输入框时,整个表格都会崩溃。只有在我刷新页面后才能正常显示。

我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

尝试

table.rows[i].style.display = "table-row";

而不是

table.rows[i].style.display = "block";

答案 1 :(得分:1)

您还可以查看一些可以处理表格排序,过滤和放大的插件。分页。从头开始做很多工作。

Meteorite是一个非官方的社区包管理员。