好的,所以我理解jQueryUI期望键/值形式的对象具有键的“值”和“标签”,所以我已经将我的数据转换为这种json格式。现在我只是不确定如何最简单的方式来源我的json url。关于这个问题的所有其他文章都表明需要提取数据并对其进行转换,这不是我的情况。
我的json文件位于 getuser.php?name = brian
[
{"label":"Brian Aa","value":"7e36e"},
{"label":"Brian Ba","value":"3e497"},
{"label":"Brian Bc","value":"c3263"},
{"label":"Brian Cc","value":"5be94"}
]
我的自动完成JS:
$("#test").autocomplete({
source: function(request, response) {
"sample.com/getusers.php?name="+$("#test").val(), request, response;
},
minLength:2
});
和HTML
<div>
<label for="tags">Requested By: </label>
<input id="test">
</div>
现在我在输入时什么都没有,假设我必须设置ajax,但我认为我已经看到了一个非常简单的解决方案的例子,当JSON已经格式化但似乎无法找到它。
答案 0 :(得分:0)
源函数不正确,您需要从服务器获取数据并将响应用作调用,请参阅Autocomplete API
source: function(request, response) {
var url = "sample.com/getusers.php?name="+$("#test").val();
$.get(url).done(function(data){
response(data);
}).fail(function(error){
//dosomething here
});
}
答案 1 :(得分:0)
这是一个做ajax调用的问题,我只是觉得有一个更简单的方法。
$( function() {
$( "#test" ).autocomplete({
source: function( request, response ) {
$.ajax( {
url: "sample/getusers.php?name="+$("#test").val(),
dataType: "json",
data: {
term: request.term
},
success: function( data ) {
response( data );
}
} );
},
minLength: 2,
select: function( event, ui ) {
}
} );
} );