Tôi đang phát triển một biểu mẫu và sử dụng jQuery UI Autocomplete. Khi người dùng chọn một tùy chọn, tôi muốn lựa chọn đó xuất hiện trong khoảng được nối vào <p>
thẻ mẹ . Sau đó, tôi muốn trường xóa thay vì được điền vào vùng chọn.
Tôi có khoảng thời gian xuất hiện tốt, nhưng tôi không thể làm cho sân rõ ràng.
Làm cách nào để bạn hủy hành động chọn mặc định của jQuery UI Autocomplete?
Đây là mã của tôi:
var availableTags = ["cheese", "milk", "dairy", "meat", "vegetables", "fruit", "grains"];
$("[id^=item-tag-]").autocomplete({
source: availableTags,
select: function(){
var newTag = $(this).val();
$(this).val("");
$(this).parent().append("<span>" + newTag + "<a href=\"#\">[x]</a> </span>");
}
});
Đơn giản là làm $(this).val("");
không hiệu quả. Điều đáng buồn là gần như chức năng chính xác hoạt động tốt nếu tôi bỏ qua tính năng tự động hoàn thành và chỉ thực hiện hành động khi người dùng nhập dấu phẩy như sau:
$('[id^=item-tag-]').keyup(function(e) {
if(e.keyCode == 188) {
var newTag = $(this).val().slice(0,-1);
$(this).val('');
$(this).parent().append("<span>" + newTag + "<a href=\"#\">[x]</a> </span>");
}
});
Kết quả cuối cùng thực sự là làm cho tính năng tự động hoàn thành hoạt động với nhiều lựa chọn. Nếu ai đó có bất kỳ đề xuất nào cho điều đó, họ sẽ được hoan nghênh.