これは、jQuery オートコンプリート検索ボックスのコードです。ソースでは、次のような JSON オブジェクトの配列をプッシュしています[{displayName :'john',value:'12345',email:'john@gmail.com'},...]
var termTemplate = "<span class='ui-autocomplete-term'>%s</span>";
$('.searchboxx').autocomplete({
source: function(request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(contacts, function(contact) {
return matcher.test(contact.displayName)
|| matcher.test(contact.value) || matcher.test(contact.email);
}));
},
select: function(event, ui) {
var contact = ui.item;
}
}).data("ui-autocomplete")._renderItem = function(ul, contact) {
return $("<li>")
.append('<a><div class="row">' +
contact.displayName + " <" + contact.value + ">" + " [" + contact.rel + "]" +
'</div>' +
'</div></a>')
.appendTo(ul);
};
私のulは<li>john<12345>[mobile]</li>,.....
、それらの1つをクリックしたときのようです。検索ボックスに12345が表示されますが、検索ボックスに名前を表示したいのですが、どうすればそれを達成できますか? selectにコードの平和を追加してみました
if(ui.item){
$('.searchboxx').val(contact.displayName);
}
しかし、それは何か提案を働いていませんか?