【问题标题】:javascript search - case-insensitivejavascript 搜索 - 不区分大小写
【发布时间】:2017-06-29 08:03:38
【问题描述】:

我无法让此代码不区分大小写。 此代码在网上找到 - (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);
    });
  });

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

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

谢谢!

【问题讨论】:

  • 你试过使用正则表达式吗?

标签: javascript search case-insensitive


【解决方案1】:

改变一下

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

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

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

你的小提琴的一个分支,带有建议的更改:http://jsfiddle.net/kykuwppL/

【讨论】:

  • 天哪 - 非常感谢!我确实尝试了第一次放置它的 .toLowerCase - 但最后没有第二次添加它!多哈。 !谢谢!
  • 不客气。如果这解决了您的问题,请考虑接受该解决方案。 :)
【解决方案2】:

转换两个字符串.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);
    });
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 2013-09-26
    • 2023-03-20
    • 1970-01-01
    • 2021-11-27
    • 2011-01-02
    • 2013-02-17
    相关资源
    最近更新 更多