Próbuję dowiedzieć się, jak zrobić "przeciwny" wybór jquery ui. Kiedy ktoś nie wybierze opcji i po prostu wpisuje "jquery something" wynik będzie: "nowe wejście: jquery coś". Jednak po wybraniu "jquery" byłoby miło jakoś mieć tylko "wybrany z listy: jquery" i zapobiec propagacji keypress. Oba zdarzenia wybuchają. Próbuję to uczynić jednym lub drugim.jquery ui autouzupełnianie: wyzwalacz tylko wtedy, gdy element nie jest wybrany
<input class="test" type="text" />
<script>
$('.test').autocomplete({
select: function (event, ui) {
alert('selected from list: ' + ui.item.label);
event.preventDefault();
return false;
},
source: ["jquery", "jquery ui", "sizzle"]
});
$('.test').live('keypress', function (e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
alert('new input: ' + $(this).val());
}
});
</script>
Dzieje się tak przy założeniu, że klawisz "enter" służy do wybierania opcji z menu interfejsu użytkownika.
Kiedy uruchamiam to, to pokazuje jak klucze typ, ale jeśli wybiorę wartość, nie pokazuje żadnych naciśnięć klawiszy, nawet za pomocą klawiszy strzałek. Proszę wyjaśnić kwestię, lub przynajmniej powiedz mi, jakie jest jej ostateczne wykorzystanie, aby lepiej zrozumieć, jak pomóc. –
Zmienię to, aby ostrzec. Console.log służy do firebug. Utwórz także swoje wpisy za pomocą klawisza "Enter". – Parmenides