2015-07-20 64 views
-3

原来,问题是,我必须得到一些通知,当项(城市项目中的名称),由用户在jQueryUI的自动完成功能不与收集任何匹配输入(进入“我的甜蜜都市”和它doesn”不匹配[莫斯科,纽约,北京])。因此,我将重写我的代码在阵列手动搜索,但我有一个问题 - 在阵列像自动完成搜索如何做?JS搜索

+0

的可能重复的[使用Javascript - 搜索字符串字符串数组内(http://stackoverflow.com/questions/5424488/javascript-search-for-a-string的 – JJJ

+0

可能重复的 - 内-AN-阵列的串)[Javascript数组搜索和删除字符串?](http://stackoverflow.com/questions/9792927/javascript-array-search -and-除去串) –

回答

1

有几个方法可以做到这一点。如果是简单的东西,你可以逃脱使用indexOf找到匹配,像这样:

var arr = ["one", "two", "three", "four", "five"]; 
var inputText = "three"; 

if (arr.indexOf(inputText) > -1) { 
    alert("item found"); 
} 
else { 
    alert("item not found"); 
} 

另一种选择(和更有效的选择),将使用常规explression和循环通过数组以查找匹配(由Aleadam提及):

function searchStringInArray (str, strArray) { 
    for (var j=0; j<strArray.length; j++) { 
     if (strArray[j].match(str)) return j; 
    } 
    return -1; 
}