heksen
@heksen

Как сделать переход в jquery autocomplette?

В своей форме я использую стандартный jquery autocomplette. И мне нужно сделать так, что-бы при переходе к следующему полю ( например input). Jquery automplette не оставлял введенные в поле символы, если значение в autocomplette не выбрано. Как это можно сделать? Т.е. если выбрал, то выбрал, а если нет то поле очистилось при переходе. Как?
  • Вопрос задан
  • 2288 просмотров
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Обрабатывать события change, select и close. Использовать дополнительный атрибут, который будет содержать признак выбранности значения из списка:
$( "#tags" ).autocomplete({
      source: availableTags,
      change: function(){
        $(this).attr('data-select', $(this).val() != '');
      },
      select: function(){
        $(this).attr('data-select', true);
      },
      close: function(){
        if($(this).attr('data-select')!='true'){
          $(this).val('');
        }
      }
});

Посмотреть, как это работает.

Если понадобится использование autocomplete жестко, чтобы пользователь мог выбирать только из списка, то можно добавить дополнительный обработчик change текстовому полю и удалять введенные данные, если они не были выбраны из списка:
$( "#tags" ).change(function(){
    if($(this).attr('data-select')!='true'){
      $(this).val('');
    }
});

Посмотреть на работу можно тут.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы