El autocompletado de la interfaz de usuario de jQuery muestra un valor en lugar de una etiqueta en el campo de entrada
Un problema potencialmente simple con jQuery UI autocompletar me está impidiendo. Mi fuente es
var ac = [
{
label: "One Thing",
value: "One-Thing"
},
{
label: "Two Thing",
value: "Two-Thing"
},
]
Estoy invocando el widget con
$(function() {
$( "#search" ).autocomplete({
source: PK.getAutocompleteSource(),
focus: function( event, ui ) {
$("#search").val(ui.item.label);
return false;
},
select: function( event, ui ) {
$("#search").val(ui.item.label);
PK.render(ui.item.value);
}
});
});
Todo funciona bien. Cuando escribo en el#search
en el campo de entrada, la etiqueta coincidente se muestra en el menú desplegable, y cuandoselect
Se realiza la búsqueda correcta. El widget incluso muestra ellabel
en el#search
campo de entrada cuando selecciono diferentes elementos en el menú desplegable usando las teclas de flecha (o el mouse). Excepto que, tan pronto como pulso enter, el widget llena el#search
campo de entrada con elvalue
en vez delabel
. Así se muestra el campoUna cosa en lugar deUna cosa.
¿Cómo puedo corregir esto? Seguramente lo que estoy esperando es el comportamiento más razonable, ¿no?