Как вы думаете, вы можете связать его с запросом на стороне клиента ??
Вы можете связать его с вызовом AJAX на сервере, который возвращает список опций.
Фильтр элемента управления выполнит остальную фильтрацию этого списка параметров.
Рекомендуется запускать AJAX при загрузке страницы для серверной функции, которая будет запрашивать базу данных (в вашем случае MySQL) и извлекать список опций в JSON формат. Присвойте список опций как вход для автозаполнения. (Очевидно, это лучше, чем запускать ajax-запрос каждый раз, когда пользователь начинает вводить в поле поиска.)
Если вы используете jquery, это может быть что-то вроде этого.
$(function(){ //runs on page load
$.ajax({
type: "POST",
url: "/searchlist/", //server function that returns the search list
data: '',
dataType: "json",
success: function(json){
search_choices = json.list; // search option list
$("input#searchbox").autocomplete(search_choices, {
max: 4,
scroll: false,
autoFill: true,
multiple: true,
matchContains: true,
multipleSeparator: " ",
width: 180
});
}
});
});
Я могу предоставить вам пример в других библиотеках, кроме jquery, но я надеюсь, что это поможет вам найти свой путь.
Редактировать: Нет, ваша база данных не должна иметь сортированных вариантов. Это ваша серверная функция, которая должна выполнять всю сортировку. Использование,
autocomplete( url_to_server_function, options)
и ваша серверная функция получит поисковый запрос (ключевые слова в поисковой строке) в качестве запроса на получение. Фильтруйте свою базу данных там, и это место, где вы можете связать связанные слова вместе с результатами. Просто составьте список всего, что вы хотите показать как предложение, и верните его в сериализованном формате json и позвольте autocomplete позаботиться о сопоставлении и сортировке данных.