2

フィルタリング機能を作成したいテーブルがあります。

この表には、隕石のコレクションからハンドルバーまでのレコードが表示されます{{#each}}

コードは次のようになります。

    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";
        }               
      }
   };

このコードは、事前定義されたセルで一致する文字を入力すると機能します。

しかし、入力ボックスをクリアすると、テーブル全体が折りたたまれます。ページを更新して初めて、正しく表示されます。

私がここで間違っていることは何ですか?

4

2 に答える 2

2

で試してみてください

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

それ以外の

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

于 2013-02-21T08:30:11.757 に答える
1

また、テーブルの並べ替え、フィルタリング、ページングを処理するプラグインをいくつか見ることもできます。ゼロからそれを行うその多くの仕事。

  • Tinytablehttp : //www.scriptiny.com/2009/03/table-sorter/-隕石についてteeble
  • Datatables(http://www.datatables.net/)-隕石上でdatatables

Meteoriteは、非公式のコミュニティパッケージマネージャーです。

于 2013-02-21T08:47:18.807 に答える