Обычно я использую библиотеку автозаполнения следующим образом:
$('#my_id_element').autocomplete({
source: function(request, response) {
$.ajax({ ...
Поскольку my_id_element
будет создаваться динамически, мне нужно связать автозаполнение с помощью .on()
метод.Я попробовал это так:
$('#my_id_element').on('autocomplete', function () {
source: function(request, response) {
$.ajax({...
Однако этот фрагмент приводит к следующему сообщению об ошибке:
Uncaught SyntaxError: Unexpected token (
и указывает на эту строку:
source: function(request, response) {
Я проверил все скобки, но они, кажется, совпадают, поэтому, скорее всего, я неправильно применяю метод .on()
к autocomplete
.
Как правильно связать автозаполнение?
РЕДАКТИРОВАТЬ: размещение полного кода здесь - этот работает, но я застрял при применении к нему метода .on()
:
<script>
$('#my_id_element').autocomplete({
source: function(request, response) {
$.ajax({
url: '<%= autocomplete_company_name_path %>',
dataType: "json",
data: {
term : request.term
},
success: function(data) {
response(data);
}
});
},
min_length: 3,
delay: 400,
select: function(e, ui) {
console.log(ui.item);
$("#address").val(ui.item.address);
$("#city").val(ui.item.city);
$("#state").val(ui.item.state);
$("#zip").val(ui.item.zip_code);
$("#country").val(ui.item.country);
}
});
</script>