2017-06-29 37 views
1

このコードで大文字と小文字を区別することに問題があります。 (http://jsfiddle.net/bizamajig/radzq2o2/javascript検索 - 大文字と小文字を区別しない

$(function(){ 
    // Instantiate MixItUp: 
    $container = $('.cd-gallery') 
    $container.mixItUp(); 
    $('#filter').keyup(function(){ 
     var val = $(this).val(); 
     var state = $container.mixItUp('getState'); 
     var $filtered = state.$targets.filter(function(index, element){ 
     return $(this).text().toString().indexOf(val.trim()) >= 0; 
     }); 

     $container.mixItUp('filter', $filtered); 
    }); 
    }); 

しかし、私は、このコードは大文字と小文字を区別しないようにように見えることはできません - このコードは、オンラインで発見された 。 私はさまざまなことを試みましたが、何も効果がありませんでした。誰でも助けてくれますか?

大文字と小文字を区別しないようにするには、上記のコードが必要です。

ありがとうございました!

+0

あなたは正規表現を使用してみましたが? – Abrar

答えて

2

だけ

return $(this).text().toString().toLowerCase().indexOf(val.trim().toLowerCase()) >= 0; 

return $(this).text().toString().indexOf(val.trim()) >= 0; 

を変更するには、toLowerCase()の使用を注意してください。私たちは基本的に両方の文字列を比較する前に小文字と比較しています。 http://jsfiddle.net/kykuwppL/

+0

Omg - ありがとうございました!私はあなたが最初に入れた.toLowerCaseを試しましたが、最後にもう一度追加しませんでした! Doh。 !ありがとうございました! – Cassens

+0

ようこそ。これで問題が解決した場合は、解決策を受け入れることを検討してください。 :) –

+0

私は前にあなたの(より良い)答えを読んでいるはずです: - P .. :-) –

0

両方の文字列.toLowerCaseを(変換):提案変化に

あなたのフィドルのフォーク、 var val = $(this).val().toLowerCase(); return $(this).text().toString().toLowerCase().indexOf(val.trim()) >= 0;

$(function(){ 
    // Instantiate MixItUp: 
    $container = $('#projects') 
    $container.mixItUp(); 
    $('#filter').keyup(function(){ 
     var val = $(this).val().toLowerCase(); 
     var state = $container.mixItUp('getState'); 
     var $filtered = state.$targets.filter(function(index, element){ 
     return $(this).text().toString().toLowerCase().indexOf(val.trim()) >= 0; 
     }); 

     $container.mixItUp('filter', $filtered); 
    }); 
    }); 
関連する問題