预测搜索匹配不区分大小写的数组元素,当大小写不正确时不显示

时间:2018-12-20 15:50:52

标签: javascript match case-insensitive

我知道标题听起来很奇怪,但是我正在以一种预测性搜索方式搜索数组,当我输入字母(str)时,大小写无关紧要(当我输入'b'时,它会发现'b'和'B'代表“ Bears”,并在列表中显示它们,因此我知道这是可行的....但是当我没有正确的大小写时,它不会以黄色突出显示文本。我输入“ B”会突出显示“ Bears”列表中的“ B”。...但是当键入“ b”时,它将在列表中显示“ Bears”的“ B”但不突出显示。

    var strArray = ["Bears", "Giraffes", "Donkeys", "Monkeys"];
  for (var j=0; j<strArray.length; j++) {
    if (strArray[j].toLowerCase().match(str.toLowerCase()) && $return.length < 8) {
      var $h = strArray[j].replace(str, '<span class="prediction-text">'+str+'</span>');
      $return.push('<li class="prediction-item">' + $h + '</li>');
    }
  }
}

这有意义吗?我知道我离我不太远。我尝试将数组更改为小写,但是当它在预测性下拉列表中显示时,它是小写的,我不希望这样。...

我知道它与以下内容有关:

if (strArray[j].toLowerCase().match(str.toLowerCase()) && $return.length < 8) {

行,也许还有其他事情要做。

感谢大家的帮助。你们都很棒,我非常感谢。

0 个答案:

没有答案