jQuery Autocomplete - не заполняйте ввод текста, пока не выбрано (мышь или ввод) - PullRequest
0 голосов
/ 14 февраля 2019

Я использую автозаполнение jQuery, которое подключается к базе данных.Прямо сейчас, если вы начнете вводить термин и наводите указатель мыши на заполненный список, ввод текста с исходным термином не изменится, пока вы не нажмете элемент списка.

Я хочу, чтобы то же самое происходило с клавиатурой,Не заполняйте текстовое поле при вводе стрелки вниз.Заполните текстовое поле и скрытый идентификатор одновременно с enter или mouse click

$(function() {
    function log( message ) {
        $(".userBookProjId").val(message);
        $(".userBookProjId").scrollTop( 0 );
    }
    $( ".userBookProj" ).autocomplete({
        source: "userBookProj.php?userId=" + $('#userId').val(),
        minLength: 2,//search after two characters
        select: function( event, ui ) {

            log( ui.item ? ui.item.id : "");
        }
    });
});

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 15 февраля 2019

Вы захотите использовать событие focus.

$(function() {
  function log( message ) {
    $(".userBookProjId").val(message);
    $(".userBookProjId").scrollTop( 0 );
  }
  $( ".userBookProj" ).autocomplete({
    source: "userBookProj.php?userId=" + $('#userId').val(),
    minLength: 2,
    focus: function(){
      return false;
    },
    select: function( event, ui ) {
      log( ui.item ? ui.item.id : "");
    }
  });
});

focus (event, ui)

Тип: autocompletefocus

Срабатывает, когда фокус перемещается на элемент (не выбирается).Действие по умолчанию - заменить значение текстового поля значением выделенного элемента, хотя только в том случае, если событие было вызвано взаимодействием с клавиатурой.

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

См. подробнее: http://api.jqueryui.com/autocomplete/

Надеюсь, что поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...