我的小提琴http://jsfiddle.net/UGYzW/319/数据目前来自本地来源,简称为数据'。我如何从外部值中撤回数据?请使用http://echo.jsontest.com/key/value/one/two或后退价值' mralexgray'从第一个登录项目。我们是否需要将项目推送到新阵列?
最后使用JSONP,JSON还是.AJAX更好?
var data =[
{'label':'Core','value':1},
{'label':' Selectors','value':2},
{'label':'Events' ,'value':3}];
var nameArray = data.map(function(item){
return {value: item.value, label: item.label};
});
$("#meta-area").autocomplete({
source:nameArray,
select: function(e, ui) {
e.preventDefault() // <--- Prevent the value from being inserted.
$("#meta_search_ids").val(ui.item.label);
$(this).val(ui.item.value);
}
});
//alert("this loaded");
答案 0 :(得分:0)
由于您将data
变量创建为Array
,因此在您的ajax响应之后将所有变量推送到数组。稍后相同的脚本将使用map
函数
$.ajax({
url:'https://api.github.com/users/mralexgray/repos',
success:function(data) {
var dataArray = [];
for(var i=0;i<data.length;i++){
dataArray.push(data[i]);
console.log(data[i]);
}
var nameArray = dataArray.map(function(item){
return {value: item.owner, label: item.name};
});
$("#meta-area").autocomplete({
source:nameArray,
select: function(e, ui) {
e.preventDefault();
$("#meta_search_ids").val(ui.item.label);
$(this).val(ui.item.value);
}
});
}
});