我有一个输入,我想知道我的数组中是否存在任何值。举个简单的例子,我的数组是
var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
如果我输入简单的“太阳”,我已经想出了如何触发它,但我想知道'hhsun'或'sunee'是否也存在。
$('input').keyup(function() {
var _val = $(this).val();
$('p').text(_val);
var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
if (_array.indexOf(_val) != -1) {
$('span').text('it worked');
} else {
$('span').text(_array.indexOf(_val));
}
});
答案 0 :(得分:9)
检查_array
的元素是否是文本框文本的子字符串:
var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
for (var i = 0; i < _array.length; i++) {
if (_val.indexOf(_array[i]) != -1) {
$('span').text('it worked');
return;
}
}
$('span').text('nothing');
演示:http://jsfiddle.net/WLacb/3/
一个稍微模糊的解决方案是使用正则表达式:
if (/sun|mon|tue|wed|thu|fri|sat/ig.test(_val)) {
$('span').text('it worked');
} else {
$('span').text('nothing');
}
答案 1 :(得分:2)
执行此操作的一种简单方法是使用内置的jquery.each命令循环遍历数组的每个元素,并检查它是否在文本框值中。
$('span').text(-1);
$.each(_array, function(key, value) {
if (_val.indexOf(value) != -1) {
$('span').text('it worked');
}
});