Jquery 如何映射数组值?
实际上,我需要使用jquery.ui进行自动完成,源代码如下:Jquery 如何映射数组值?,jquery,node.js,jquery-ui,autocomplete,Jquery,Node.js,Jquery Ui,Autocomplete,实际上,我需要使用jquery.ui进行自动完成,源代码如下: [ { Nom: 'user', 'Utilisateur mail': 'user1', 'MDP mail': 'ac14yibd', 'Société': 'truc', ID: 233 }, { Nom: 'user', 'Utilisateur mail': 'user1', 'MDP mail': 'ac14yibd', 'Société': 'truc', ID: 234 } ] 响应是一个完整的数组: [ { N
[ { Nom: 'user', 'Utilisateur mail': 'user1', 'MDP mail': 'ac14yibd', 'Société': 'truc', ID: 233 },
{ Nom: 'user', 'Utilisateur mail': 'user1', 'MDP mail': 'ac14yibd', 'Société': 'truc', ID: 234 } ]
响应是一个完整的数组:
[ { Nom: 'user', 'Utilisateur mail': 'user1', 'MDP mail': 'ac14yibd', 'Société': 'truc', ID: 233 }]
我需要将键'Nom'和'ID'的值映射到.autocomplete响应的'label'和'value'
实现这一目标的最佳方式是什么
我的半工作实际代码:
$(function() {
$("#search-query").autocomplete({
source : function (request, response) {
$.ajax({
url: "/search_member",
type: "GET",
data: request,
sucess: function (data) {
response($.map(data, function (el) {
return {
label: el.Nom,
value: el.ID
};
}));
}
});
},
minLength: 3,
focus: function (event, ui) {
this.value = ui.item.label;
event.preventDefault();
},
select: function (event, ui) {
this.value = ui.item.label;
$(this).next("input").val(ui.item.value);
event.preventDefault();
$( "#quicksearch" ).submit();
}
});
});
谢谢:D有副作用的溶液
function adjust(response) {
return response.map(function(r) {
r.label = r.Nom;
r.value = r.ID;
delete r.Nom;
delete r.ID;
return r;
});
}
到目前为止你尝试了什么?我已经编辑了主代码,用于显示我的实际代码你所说的“半工作”是什么意思?这个代码有什么问题?这与
node.js
有什么关系?我说半工作是因为,ajax请求在我的路由器中得到了正确解析,但我不知道返回是否错误,或者我前面的js代码是否错误。我尝试过,但我认为ajax请求没有成功,因为我尝试了一个简单的警报(“测试”),如果成功,但什么都没有显示。也许我的快速路由器设置不正确OP的代码有什么问题?副作用是什么?我回答问题时代码不在那里。副作用,因为数组元素已修改而未复制。