2015-10-30 37 views
0

篩選表我有用於過濾五個輸入文本的表如本的jsfiddle顯示Java腳本查詢如何在點擊

https://jsfiddle.net/607y6qdx/2/

我想在表中篩選信息每當有文本在這些過濾器之一中並且當用戶點擊輸入時。

我已經模擬輸入點擊這樣的:

$(document).ready(function() { 
    $('#transactionIDFilter, #messageTypeFilter, #timestampFilter, #messageTextFilter, #originFilter, #destinationFilter ') 
     .keypress(function (e) { 
      var key = e.which; 
      if (key == 13) // the enter key code 
      { 
       alert('Oh boy'); 
       return false; 
      } 
     }); 
}); 

,但我不能過濾行。

請問您能否幫到我。我是新來的js

+0

您可以選擇已經處理了這個庫,還是手動使用jQuery .filter方法來篩選的行做表格 – juvian

回答

0

所以你需要遵循的邏輯是

  1. 獲取輸入字段的值,並獲得在用戶按下輸入 領域的進入指數。
  2. 遍歷所有
  3. 挑選從firt步驟獲取的索引的td。
  4. 如果在提取的td中存在類型值,則顯示整個行或隱藏有效的行。

下面是代碼可以幫助:

$(
     '#transactionIDFilter, #messageTypeFilter, #timestampFilter, #messageTextFilter, #originFilter, #destinationFilter') 
     .keypress(function (e) { 
     var key = e.which; 
     if (key == 13) // the enter key code 
     { 
      $val = $(this).val(); 
      $el = $(this).closest("td"); 
      var index = $("td").index($el); 
      $("tr").not(".fixed").each(function() { 
       $elinner = $(this).find("td").eq(index); 
       if ($elinner.html().indexOf($val) != -1) { 
        $(this).show(); 
       } else { 
        $(this).hide(); 
       } 
      }); 
      return false; 
     } 
    }); 

https://jsfiddle.net/607y6qdx/7/

+0

你的代碼只在我單擊的單元格上輸入。例如,如果第一個過濾器包含單詞,第二個過濾器包含單詞,並且在第二個過濾器中單擊enter,則不會應用第一個單元格中存在的任何過濾器 –