Автозаполнение jQuery Change не запускается, пока пользователь не щелкнет за пределами поля ввода - PullRequest
0 голосов
/ 04 мая 2019

У меня проблема с автозаполнением jQuery.Я пытаюсь получить значение, которое пользователь выбирает из списка автозаполнения с помощью

$( ".autocomplete" ).autocomplete({
  change: function( event, ui ) {
      var SelectedValue = $(#autocomplete).val();
    }
});

Однако, это не вызывается, пока пользователь не щелкнет за пределами поля ввода автозаполнения.Мне нужно вызвать это сразу после того, как пользователь выбирает элемент из списка, и элемент появляется в поле ввода автозаполнения.

Код, который у меня есть:

<div>
 <input id="autocomplete" type="text" />
</div>

Код Jquery:

$( function() {

$( "#autocomplete" ).autocomplete({
      source: function( request, response ) {
        $.ajax( {
          url: "items.php",
          dataType: "json",
          data: {
            term: request.term
          },
          success: function( data ) {
          response( data );
          }
        } );
      },
      minLength: 1,
      select: function( event, ui ) {

        $("#autocomplete").val(ui.item.value);
    },

 } );

}); 

Я попробовал следующее, но это не помогло.$("#autocomplete").val(ui.item.value).trigger('change')

Любая помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 04 мая 2019

Вам просто нужно перехватить событие select следующим образом:

$("#autocomplete").autocomplete({
    select: function (event, ui) {
        var SelectedValue = ui.item.value;
    }
});

Нет необходимости делать $("#autocomplete").val(ui.item.value) ... обработчик события select сделает это за вас.

...