其实我需要用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 } ]
响应是一个完整的数组:
[ { Nom: 'user', 'Utilisateur mail': 'user1', 'MDP mail': 'ac14yibd', 'Société': 'truc', ID: 233 }]
我需要映射键的值' Nom'和' ID'贴上标签'和'价值'对于.autocomplete响应。
实现它的最佳方法是什么?
我的半工作实际代码:
$(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
答案 0 :(得分:0)
有副作用的解决方案。
function adjust(response) {
return response.map(function(r) {
r.label = r.Nom;
r.value = r.ID;
delete r.Nom;
delete r.ID;
return r;
});
}