搜索数组inArray但忽略大小写

时间:2013-02-27 01:07:22

标签: jquery input case-insensitive

希望我提供了明确的标题。

我正在创建一个由所有选项组成的数组,修剪空格和存储。 (如果在我的过程中我错了,请纠正我)。在输入更改时,如果选项数组返回false,则清除下一个字段,否则,存储唯一的新值并放在下一个字段中。

如果数组包含:

blue
black
brown

我搜索BLUE或Blue或BLue ...等,结果返回false。我想我要求caseInsensitive逻辑,但不知道如何合并。

我已经完成了所有试验和错误,所以如果你的时间分配,请随时改进。此外,这需要在jquery 1.3的范围内

http://jsfiddle.net/arkjoseph/dRpmq/2/

谢谢您的帮助。

2 个答案:

答案 0 :(得分:3)

由于您可以控制值(并使它们小写),您可以从以下位置进行非常简单的更改:

if (($.inArray((this.value), option) > 0)

if (($.inArray((this.value.toLowerCase()), option) > 0)

http://jsfiddle.net/dRpmq/3/

演示

答案 1 :(得分:-1)

来自Case insensitive search in array JavaScript提供了一个方法indexOf(),用于从数组中搜索对象,但这是区分大小写的。

Jquery提供了一个方法jQuery.inArray()要搜索数组中的对象,但这也区分大小写,即“a”不等于“A”。所以我们要做自己的功能, 以下是小的javascript函数,如果在数组中找到则返回对象的索引,否则返回-1,这是不区分大小写的方法