【发布时间】:2015-11-24 19:02:09
【问题描述】:
我正在尝试构建一个自动完成表单,它将根据用户输入从外部数据库(返回 JSON)加载 JSON。我的代码似乎工作正常,因为它将记录一个包含多个 JSON 对象的数组。但是,jQuery UI 不会在页面本身上显示结果。
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tables</title>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
</head>
<body>
<div class="ui-widget">
<input type="text" id="tags" />
</div>
<script src="assets/js/script.js"></script>
</body>
</html>
JS
$(document).ready(function(){
function createUrl(input){
var url = "http://forums.zybez.net/runescape-2007-prices/api/" + input;
return url;
}
function getSource(input){
var input = input.term;
var url = createUrl(input);
$.getJSON(url, function(data){
var items = [];
$.each( data, function(key, val){
items.push(val);
});
console.log(items); // Shows correct results
return items;
});
}
$("#tags").autocomplete({
minLength: 2,
source: getSource
});
});
可能是什么问题?感谢您的问候。
【问题讨论】:
-
你在哪里调用这个函数
getSource? -
你的问题可能是你只在
getJSON回调函数中返回结果,你的函数getSource没有返回任何东西...... -
@A.O.我在想类似的事情!我怎么能解决这样的问题?
标签: jquery json ajax jquery-ui