Существует 2 варианта.
A) Использовать обработчик событий выбрать из автозаполнение :
$("#my_id").autocomplete({..., select: function(event, ui){...}});
B) Использовать обработчик событий autocompleteselect :
$("#my_id").on("autocompleteselect", function(event, ui){...}});
В отладчике вы можете видеть, что событие в обоих случаях имеет один и тот же тип autocompleteselect
.Оба подхода эквивалентны.Вы можете выбрать A, если вы предпочитаете хранить весь связанный код в одном блоке.Вы можете выбрать B, если вы предпочитаете строгое отделение заполнения списка автозаполнения от реакции на выделение.
Пример для A:
Введите 'a' или'j' в поле ввода, чтобы увидеть, как это работает.
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.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>
<script>
$(function() {
var availableItems = [
"ActionScript", "AppleScript", "Groovy", "Java", "JavaScript", "Python", "Scala"
];
$("#my_items").autocomplete({
source: availableItems,
select: function(event, ui) {
alert(
"input: " + event.target.value + "\n" +
"label: " + ui.item.label + "\n" +
"value: " + ui.item.value);
}
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="my_items">Items: </label>
<input id="my_items">
</div>
</body>
</html>
Пример для B:
Введите 'a' или 'j' в поле ввода, чтобы увидеть, как оно работает.
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.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>
<script>
$(function() {
var availableItems = [
"ActionScript", "AppleScript", "Groovy", "Java", "JavaScript", "Python", "Scala"
];
$("#my_items").autocomplete({
source: availableItems
});
$("#my_items").on("autocompleteselect", function(event, ui) {
alert(
"input: " + event.target.value + "\n" +
"label: " + ui.item.label + "\n" +
"value: " + ui.item.value);
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="my_items">Items: </label>
<input id="my_items">
</div>
</body>
</html>