получить выбранный элемент при автозаполнении

0

Извините за этот ответ, я нашел много результатов, но что-то работает над моим кодом.

Я хочу получить выбранный элемент и вызвать другую функцию для работы с этим. Скрипт:

<script type="text/javascript">
        $(document).ready(function() {
            $("input#autoText").autocomplete({
                source: function(request, response) {
                    $.ajax({
                        url: "UserControllerServlet?action=Autocompletar",
                        dataType: "json",
                        data: request,
                        success: function(data, textStatus, jqXHR) {
                            console.log(data);
                            var items = data;
                            response(items);
                            alert($("#autoText").val(ui.item.id));

                        },
                        error: function(jqXHR, textStatus, errorThrown) {
                            console.log(textStatus);
                        }

                    });
                }

            });
        });


    </script>

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

Спасибо.

  • 0
    «не работает» не является описательным. Вы имеете в виду, что предупреждение не срабатывает, или оно отображается пустым? Вы проверили консоль браузера на наличие ошибок?
  • 0
    api.jqueryui.com/autocomplete/#event-select - source используется для установки «ключевых слов» для автозаполнения или логики.

2 ответа

0

Вместо

alert($("#autoText").val(ui.item.id));

использование

$("#autoText").data("autocomplete").selectedItem

Это позволит вам получить доступ к выбранному элементу как к объекту.

0

Использовать событие select

$(document).ready(function () {
    $("input#autoText").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "UserControllerServlet?action=Autocompletar",
                dataType: "json",
                data: request,
                success: function (data, textStatus, jqXHR) {
                    console.log(data);
                    var items = data;
                    response(items);
                    alert($("#autoText").val(ui.item.id));

                },
                error: function (jqXHR, textStatus, errorThrown) {
                    console.log(textStatus);
                }

            });
        },
        select: function (e, ui) {
            console.log('s', ui.item);
            //here ui.item will refer to the selected object
        }
    });
});

Демо: скрипка

  • 0
    Это нормально, если я пытаюсь показать предмету предупреждение "Объектный объект"? Не печатать строку, я хочу строку.
  • 0
    @ user3157778 используйте ui.item.id или ui.item.text может быть

Ещё вопросы

Сообщество Overcoder
Наверх
Меню