【发布时间】:2014-09-10 01:57:26
【问题描述】:
很抱歉,如果在外面的某个地方有一个像样的例子,我一直在寻找几天但找不到解决方案。
从 JSON 文件“database.json”中收集数据:
"[{\"id\":\"1\",\"state\":\"Alaska\"},{\"id\":\"2\",\"state\":\"Alabama\"},{\"id\":\"3\",\"state\":\"California\"}]"
这是我最近失败的尝试:
$("#state").autocomplete({
source: function( request, response ) {
$.ajax({
url: "database.json",
dataType: "json",
data: {term: request.term},
success: function(data) {
console.log(data)
response($.map(data, function(item) {
return {
label: item.state,
id: item.id,
};
}));
}
});
},
minLength: 2,
select: function(event, ui) {
$('#state_id').val(ui.item.id);
}
});
当然还有html:
<input type="text" id="state"/>
我不知道从这里去哪里,我只想要一个简单的下拉自动完成。让我知道是否需要更多信息,我可以提供。
谢谢!
【问题讨论】:
-
您的控制台有任何错误吗?
-
如果 ajax 请求返回值,它看起来很好 - jsfiddle.net/arunpjohny/dqggjdj8/1
-
@ArunPJohny 控制台没有错误。我只是没有看到价值下降。这是否意味着“database.json”的可访问性存在问题?
-
在成功处理程序中记录
console.log(data)等数据的值 -
data是成功回调的参数...所以您需要在response($.map(data, function(item) {之前的成功回调中添加控制台日志记录
标签: javascript jquery json autocomplete