按函数don'自动完成jquery ui提要;跑不动
我有这个html:按函数don'自动完成jquery ui提要;跑不动,jquery,jquery-ui,autocomplete,Jquery,Jquery Ui,Autocomplete,我有这个html: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI Autocomplete - Default functionality</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smooth
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
</head>
<body>
<label for="search">Tags: </label>
<input id="search" placeholder="Pelicula" autofocus>
</body>
</html>
}))
但是,我给autocomplete提供了一个返回相同数组的函数,autocomplete崩溃了:
$(函数(){
}))
我看不出有什么道理。我做错了什么
注意:我这样做是因为我想在函数之后更改,从api返回一个带有查询json+ajax值的数组。这应该适合您。它取自文件
$("#search").autocomplete({
source: function( request, response ) {
var tags = ["paco", "pablo", "pedro", "pepe"];
var matcher = new RegExp( '^' + $.ui.autocomplete.escapeRegex(request.term), 'i');
response( $.grep(tags, function(item) {
return matcher.test( item );
}) );
}
});
我只是这样做,它运行:
$(function() {
arr = getTags();
$( "#search" ).autocomplete({
source: arr
});
function getTags(){
return ["paco", "pablo", "pedro", "pepe"];
}
})) 在重新加载之前,请先尝试销毁它<代码>$(“#搜索”).autocomplete(“destroy”)@user3158900它一直崩溃可能是因为它比另一行先被调用。尝试删除第一行。它对我来说非常有效。
$("#search").autocomplete({
source: function( request, response ) {
var tags = ["paco", "pablo", "pedro", "pepe"];
var matcher = new RegExp( '^' + $.ui.autocomplete.escapeRegex(request.term), 'i');
response( $.grep(tags, function(item) {
return matcher.test( item );
}) );
}
});
$(function() {
arr = getTags();
$( "#search" ).autocomplete({
source: arr
});
function getTags(){
return ["paco", "pablo", "pedro", "pepe"];
}