Я пытаюсь заставить работать автозаполнение jQuery.Проблема в том, что мой массив json состоит из свойств "name" и "id".JQuery ожидает «значение» и «метка».Я хочу сопоставить «name» с «label» и «id» с «value».
Вот рабочий пример, в котором я использую ожидаемые имена свойств jQuery:
$(function() {
var projects = [
{value: "aaron-112", label: "Aaron"},
{value: "andy-123", label: "Andy" },
{value: "greg-122", label: "Greg" }];
$( "#project" ).autocomplete({
minLength: 0,
source: projects,
focus: function( event, ui ) {
$( "#project" ).val( ui.item.label );
return false;
},
select: function( event, ui ) {
$( "#project" ).val( ui.item.label );
$( "#project-id" ).val( ui.item.value );
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + "</a>" )
.appendTo( ul );
};
});
</script>
<div class="demo">
<input id="project"/>
<input type="hidden" id="project-id"/>
</div>
Но мой JSON выглядит так:
[{id: "aaron-112", name: "Aaron"},
{id: "andy-123", name: "Andy" },
{id: "greg-122", name: "Greg" }];