2016-09-02 6 views
0

jQueryを使用してテーブルでライブ検索を行っています。それは本当にうまく動作しますが、jimJimと同じものを表示しないので、大文字と小文字は区別されません。jQueryを使用してテーブルで大文字と小文字を区別するライブ検索

デモ:http://jsfiddle.net/qxks62x9/

$("#search").on("keyup", function() { 
 
    var value = $(this).val(); 
 

 
    $("table tr").each(function(index) { 
 
     if (index !== 0) { 
 

 
      $row = $(this); 
 

 
      var id = $.map($row.find('td'), function(element) { 
 
    return $(element).text() 
 
}).join(' '); 
 

 
      
 
       
 

 
\t \t \t \t \t \t 
 
      if (id.indexOf(value) <0) { 
 
       $row.hide(); 
 
      } 
 
      else { 
 
       $row.show(); 
 
      } 
 
     } 
 
    }); 
 
});
table, tr, td, th{ 
 
    border: 1px solid blue; 
 
    padding: 2px; 
 
} 
 

 
table th{ 
 
    background-color: #999999; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
<tr><th>Forename</th><th>Surname</th><th>Extension</th></tr> 
 
<tr><td>Jim</td><td>Carey</td><td>1945</td></tr> 
 
<tr><td>Michael</td><td>Johnson</td><td>1946</td></tr> 
 
</table> 
 
<br /> 
 
<input type="text" id="search" placeholder=" live search"></input>

+0

それは** **は大文字と小文字が区別されます。あなたはそれが欲しくないのですか? – sed

+0

いいえ、私はそうではありません。私は 'jim'と' Jim'の両方に入りたいと思っています:-) – michaelmcgurk

答えて

3

あなただけの両方の文字列を小文字にすることができます。

フィドル:https://jsfiddle.net/maq2xmrv/

  • (id.toLowerCase().indexOf(value.toLowerCase()) < 0)
関連する問題