Jquery автозаполнение - выберите не вызывается при нажатии Enter - PullRequest
0 голосов
/ 24 марта 2020

Мой jquery автозаполнение работает хорошо, единственная проблема, с которой я столкнулся, это то, что мне нужно щелкнуть опции, чтобы они вызывали мой «выбор».

Поскольку я могу перемещаться с помощью клавиш со стрелками в список, я хочу, чтобы вызвать выбор (или любую функцию), когда я нажимаю Enter на указанную опцию c. Это возможно?

$("#basicAutoComplete").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: encodeURI(search_url + request.term),
                    headers: {
                        'Accept': 'application/json'
                    },
                    method: 'GET',
                    cache: false,
                    success: function (data) {
                        response(data.slice(0,10));
                    },
                    error: function (err) {
                        alert(err.statusText)
                        response([]);
                    }
                });
            },
            minLength: 4,
            delay: 100,
            select: function( event, ui ) {
                //dostuff

                return false;
            },
            search: function(e,ui){
                $(this).data("ui-autocomplete").menu.bindings = $();
            }
        });

1 Ответ

0 голосов
/ 24 марта 2020

Пожалуйста, проверьте следующий фрагмент кода, опция выбирается при нажатии «Enter», а также код выполняется в select обратном вызове.

$( function() {
    var availableTags = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ];
    $( "#tbox" ).autocomplete({
      source: availableTags,
  select: function( event, ui ) {alert(event.target.value);}

    });
  } );
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<Input type="text" id="tbox" />

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

...