2015-10-14 30 views
0

我有一個表格,其中包含一個包含關鍵字和選擇字段(css類.filter)的列,其中包含與這些關鍵字相對應的選項和值。jQuery表格行過濾器 - 同時隱藏並顯示

它工作正常,直到我將選擇字段更改爲另一個選項。用下面的代碼顯然隱藏了一切。但是在隱藏不起作用之前爲每一行添加一個.show()(沒有任何東西會被隱藏起來)。隱藏後顯示選定的行也不起作用。

$(".filter").change(function() { 
     if ($(this).val() != "all") { 
      $("tbody").find("tr:not(:contains('"+$(this).val()+"'))").hide(); //hide everything except what contains the selected option 

     } else { 
      $("tbody").find("tr:hidden").show(); // reset the filter and show everything 
     } 
    }); 

回答

1

可以隱藏所有行則僅顯示經過濾項

$("tbody").find("tr").hide().filter(":contains('" + $(this).val() + "')").show(); 
+0

Hi和感謝,這看起來整潔,使我感覺良好,但它並沒有因爲某些原因不明的工作。 – voxy

+0

@voxy http://jsfiddle.net/arunpjohny/chqqeyh6/2/? –

+0

嗨,再次感謝 - 我發現了錯誤。你的線路運作完美。比我的更優雅。錯誤是:我有兩個與這個類名稱的元素...愚蠢的我。 – voxy