Задать вопрос
@maiskiykot
Free coder

Как обнулить значение input для AJAX?

Колхозю для себя autocomplete в Laravel. Для одного значения все работает. Но есть две проблемы - первая - при попытке внести еще одно значение в поле input поиск ведется с начала строки а не с позиции курсора, а вторая - ajax перезаписывает значение всего поля а не вводимого слова. Отсюда вопрос: как минимально объявить для Ajax начало строки с позиции курсора? И сюда же - как перезаписать строку только от позиции курсора. Пока что success выглядит так:
success: function(data)
                {
                  $('#tagsList').fadeIn();
                  $('#tagsList').html(data);
                }
            });
        }
    });

    $('#tagsList').on('click', 'li', function() {
    $('#tags').val($(this).text());
    $('#tagsList').fadeOut();
});
  • Вопрос задан
  • 70 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@maiskiykot Автор вопроса
Free coder
Нашел скрипт - 20 строчек (+jquery). Решил задачу полностью
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Raxen
@Raxen
TechLead Frontend Developer, Beeline
Вообще я не сторонник таких частых запросов на сервер по нажатию каждой кнопки, некоторые вешают таймаут в 2-3 секунды и только потом отправляют.

У вас перезаписывается значение инпута, нужно его дополнять.

Замените это
$('#tags').val($(this).text());

на это
$('#tags').val($('#tags').val() + $(this).text());

Курсор вероятно всего встанет на нужное место, если нет, то вот тут можно подсмотреть костыль
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы