javascript搜索 - 不区分大小写

时间:2017-06-29 08:03:38

标签: javascript search case-insensitive

我遇到了使这段代码不区分大小写的麻烦。 此代码可在线找到 - (http://jsfiddle.net/bizamajig/radzq2o2/

 $(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);
    });
  });

但我似乎无法让这段代码不区分大小写。 我尝试了不同的东西 - 但没有任何效果。谁能帮我?

我需要此代码(上面)不区分大小写。

谢谢!

2 个答案:

答案 0 :(得分:2)

只需更改

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

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

请注意toLowerCase()的使用。在比较之前,我们基本上将被比较的字符串转换为小写字母。

你的小提琴的叉子,建议的改变:http://jsfiddle.net/kykuwppL/

答案 1 :(得分: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);
    });
  });