如何在jquery自动完成中搜索单词?考虑我有一个数组如下。如果我输入的类似'S',那么我必须打印所有'S'相关的结果,如ActionScript,AppleScript,Scala,BASIC,Haskell,Scheme,ColdFusion等。你可以更新这个fiddle
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
提前致谢。
答案 0 :(得分:4)
试试这个。 你根本不需要自动完成。
$rootScope.$broadcast

var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#tags").keyup(function(){
$("#found").find('p').remove();
var val = $(this).val();
if(val.length>0){
for(var i=0;i<availableTags.length;i++)
{
var item = availableTags[i];
if(item.toLowerCase().indexOf(val.toLowerCase())>-1)
{
$("#found").append("<p>"+item+"<br></p>");
}
}
}
});
&#13;
答案 1 :(得分:0)
如果你不想要下拉列表,也许你甚至不需要jquery UI。您可以执行this:
之类的操作$input.on('keyup', function(){
availableTags.filter(function(_item){
return _item.toLowerCase().indexOf($inp.val()) > -1;
}).forEach(function(_item) {
console.log( _item );
});
});