Tôi đang cố gắng tìm ra cách tạo ra một "đối diện" của một lựa chọn jquery ui. Khi ai đó không chọn một tùy chọn và chỉ cần loại đầu ra "jquery something" sẽ là: "đầu vào mới: jquery something". Tuy nhiên khi "jquery" được chọn nó sẽ được tốt đẹp để bằng cách nào đó chỉ có "được chọn từ danh sách: jquery", và ngăn chặn các propogation nhấn phím. Tuy nhiên, cả hai sự kiện đều cháy. Tôi đang cố gắng để làm cho nó một hay khác.jquery ui autocomplete: chỉ kích hoạt khi mục không được chọn
<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>
Điều này xảy ra với giả định rằng phím "enter" được sử dụng để chọn tùy chọn từ trình đơn của ui.
Khi tôi chạy này, nó cho thấy các phím như tôi loại, nhưng nếu tôi chọn một giá trị nó không hiển thị bất kỳ sự kiện nhấn phím nào, ngay cả khi sử dụng các phím mũi tên. Vui lòng làm rõ vấn đề, hoặc ít nhất hãy cho tôi biết cách sử dụng tối ưu này là gì để tôi có thể hiểu rõ hơn về cách trợ giúp. –
Tôi sẽ đổi nó thành cảnh báo. Console.log là dành cho firebug. Đồng thời, hãy nhập các mục nhập bằng phím "enter". – Parmenides