Bueno analice rapidamente y mire los docs de ese plugin y no encontre callbacks para poder crear los datos a enviar. En cuestión de usabilidad y flexibilidad, te recomiendo el autocomplete de jQueryUI. http://jqueryui.com/demos/autocomplete/
En una de sus opciones, puedes crear un callback para usar los datos retornados a tu antojo. Puedes usar JSON para retornar tanto el nombre como el ID que necesitas, y proseguido a esto alojar el ID en un input tipo"hidden" y el nombre en el input de autocompletar como está normalmente.
Algo de codigo para esto. Con la opción "select" puedes hacer un callback para cuando los datos lleguen desde el source.
Código HTML:
$( "#nombre" ).autocomplete( {
// Funcion que ejecuta el llamado de datos via JSON
source: function( request, response ) {
$.ajax({
url: "url del source",
dataType: "JSON",
// Datos que se enviaran
data: {
nombre: request.term // Nombre que se inserta en el autocomplete
},
// Funcion cuando retornen los datos
success: function( data ) {
response( $.map( data, function( item ) {
return {
// Nombres que se mostrará en el desplegable
label: item.nombre,
// ID retornados y necesitados
value: item.ID
}
}));
}
});
},
// Funcion que se ejecuta cuando se hace click en el menu desplegable con los resultados
select: function( event, ui ) {
// Cuando hace click en alguno de los nombres del desplegable, que se actualice el ID en el input hidden
return $("#inputID").val(ui.item.ID);
}
});
Y pues en el body tendrás un input hidden con el ID "#inputID"
Código HTML:
<input id="inputID" type="hidden" />
Esto se me ocurre y así como algo fácil. Si tienes experiencia en JSON y jQuery, todo te quedará mucho más fácil. Al principio se ve algo muy tedioso, pero la API de jQueryUI es muy amplia y flexible, útil para hacer callbacks a nuestro antojo.
Lee la documentación completa y detalla los ejemplos, pero recuerda estas dos opciones que te indique para hacer el trabajo de parsear los datos como necesitas.
Saludos!