Autouzupełnianie interfejsu użytkownika jQuery pokazuje wartość zamiast etykiety w polu wejściowym
Potencjalnie prosty problem z autouzupełnianiem jQuery UI mnie zastrasza. Moje źródło to
var ac = [
{
label: "One Thing",
value: "One-Thing"
},
{
label: "Two Thing",
value: "Two-Thing"
},
]
Wywoływam widget za pomocą
$(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);
}
});
});
Wszystko działa dobrze. Kiedy wpisuję#search
pole wprowadzania, pasująca etykieta pojawia się na liście rozwijanej i kiedy jaselect
przeprowadzane jest prawidłowe wyszukiwanie. Widget pokazuje nawetlabel
w#search
pole wejściowe, gdy wybieram różne elementy z listy rozwijanej za pomocą klawiszy strzałek (lub myszy). Z wyjątkiem tego, że gdy tylko kliknę Enter, widżet wypełni#search
pole wprowadzania za pomocąvalue
zamiast tegolabel
. Tak pokazuje poleJedna sprawa zamiastJedna sprawa.
Jak mogę to poprawić? Z pewnością oczekuję bardziej rozsądnego zachowania, nie?