Autocompletar JQuery sem usar label, valor, id

É possível ter o Autocomplete do JQuery funcionando sem usar ID, label e valor convencionais?

Por exemplo, não desejo usar:

[ { "id": "Botaurus stellaris", "label": "Great Bittern", "value": "Great Bittern" }, { "id": "Asio flammeus", "label": "Short-eared Owl", "value": "Short-eared Owl" }] 

mas sim:

 [ { "my_id": "Botaurus stellaris", "first_name": "Great Bittern", "last_name": "Great Bittern" }, { "my_id": "Asio flammeus", "first_name": "Short-eared Owl", "last_name": "Short-eared Owl" }] 

Então, como o JQuery autocomplete normalmente leva id,value,label , posso fazer com que ele tome my_id, first_name, last_name e faça com que o JQuery autocomplete Jquery trate como o mesmo id,label,value ?

Isso pode ser útil, quando não desejo modificar as chaves dos dados provenientes de uma fonte de dados, para exibi-las no preenchimento automático do JQuery.

Deixa pra lá,

Encontrou a resposta da fonte de exemplo Autocomplete da JQueryUI:

  $( "#city" ).autocomplete({ source: function( request, response ) { $.ajax({ url: "http://ws.geonames.org/searchJSON", dataType: "jsonp", data: { featureClass: "P", style: "full", maxRows: 12, name_startsWith: request.term }, success: function( data ) { response( $.map( data.geonames, function( item ) { return { label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName, value: item.name } })); } }); }, minLength: 2 }); 

Aqui, a source recebe uma function, que pode converter e retornar qualquer tipo de chave necessária para ser convertida no id,value,label do Autocompletar da JQuery.

Pode ser que ajude alguns.

Existe uma solução ainda melhor. É até documentado no site jquery-ui.

http://jqueryui.com/demos/autocomplete/#custom-data

 $("input").autocomplete({..}) .data( "autocomplete" )._renderItem = function( ul, item ) {return $( "
  • " ) .data( "item.autocomplete", item ) .append( "" + item.label + "
    " + item.desc + "
    " ) .appendTo( ul ); };