mi codigo actual es
$(".Commodities").autocomplete({ source: function (request, response) { $.getJSON('url', function (data) { var comms = $.map(data, function (el) { return { label: el.desc, value: el.desc }; }); response($.ui.autocomplete.filter(comms, request.term)); }) }, minLength: 2, select: function( event, ui,el ) { $('#commcd').val(ui.item.code); } }); No estoy muy familiarizado con la parte ui.item del código, pero supongo que se extrae del json mapeado. Estoy seguro de que mi formato está mal en alguna parte y supongo que es cómo usé la propiedad ui.item . Estoy perdido, pero sería de gran ayuda si alguien pudiera aclarar esto. El último paso que necesito para terminar es simplemente pasar ese valor adicional a un campo de entrada.
Considera lo siguiente.
$(".Commodities").autocomplete({ source: function (request, response) { $.getJSON('url?term=' + request.term, function (data) { var comms = $.map(data, function (el) { return { label: el.desc, value: el.desc, code: el.code }; }); response(comms); }) }, minLength: 2, select: function(event, ui) { $('#commcd').val(ui.item.code); return false; } }); Si su URL es una API, debería poder aceptar un term o query para ayudar a reducir los resultados. Siempre es mejor hacer esto del lado del servidor si es posible. De lo contrario, puede filtrar los resultados como lo hizo.
response($.ui.autocomplete.filter(comms, request.term));