嗨,我正在尝试自动完成城市列表,但返回的 json 对象未格式化用于自动完成,需要一个名为“label”的字段:“cityname”来显示自动完成,所以我正在尝试使用重新格式化 json 对象一个ajax调用并将其写入全局变量,问题是一旦ajax调用返回,我的jsData是[]一个空数组......我做错了什么?为什么全局变量不保留一个值?
http://www.andymatthews.net/read/2012/03/27/jQuery-Mobile-Autocomplete-now-available
<script>
$("#nec").bind("pageshow", function(e) {
var jsData = [];
$.ajax({
url: "http://localhost:8084/REST/resources/cities",
data:{},
type: 'GET',
crossDomain: true,
dataType: 'jsonp',
jsonp: 'jsonp',
jsonpCallback: 'jsoncallback',
error: function(error){
console.log(error);
},
success: function(result) {
for (i = 0; i < result.length; i++){
jsData.push({label:result[i].name, value:result[i]});
}
console.log(JSON.stringify(jsData));
},
});
$("#textinput").autocomplete({
target: $('#suggestions'),
source: jsData,
minLength: 1
});
});
</script>
我在 JS 方面有点新鲜,所以有几件事我还没有掌握