Как сделать автокомплит поиск на сайте?

Енот
Новичек
Регистрация
13 Янв 2018
Сообщения
192
#1
Когда будет реализован умный поиск? очень нужно)
 
Думает, что помогает
Регистрация
15 Дек 2017
Сообщения
2,034
#2
Енот
Новичек
Регистрация
13 Янв 2018
Сообщения
192
#3
По ключевому слову Autocomplete JS масса решений, берите любое и добавляйте в шаблон.
URL для получения списка фильмов поиска - /search/title?json=1&q=Игра - DEMO
Было бы неплохо если выложите краткий мануал как реализовать умный поиск, куда какой код вставить как подключить js, ну что то в этом роде, в поиске нашел это https://ruseller.com/lessons.php?rub=37&id=2729 , но не совсем понятно
 
Думает, что помогает
Регистрация
15 Дек 2017
Сообщения
2,034
#4
Было бы неплохо если выложите краткий мануал как реализовать умный поиск, куда какой код вставить как подключить js, ну что то в этом роде, в поиске нашел это https://ruseller.com/lessons.php?rub=37&id=2729 , но не совсем понятно
При беглом просмотре, да, подойдет и этот способ. Серверная чать уже есть, осталось подогнать под данные.
/query?q=%QUERY% -> /search/title?json=1&q=%QUERY%
Массив с фильмами находится в movies.

mm.png
 
Енот
Новичек
Регистрация
13 Янв 2018
Сообщения
192
#5
При беглом просмотре, да, подойдет и этот способ. Серверная чать уже есть, осталось подогнать под данные.
/query?q=%QUERY% -> /search/title?json=1&q=%QUERY%
Массив с фильмами находится в movies.

Посмотреть вложение 312
все равно не получается, вот если бы вы описали все действия пошагово было бы хорошо, да и чтобы поиск осуществлялся по актерам
 
Енот
Новичек
Регистрация
5 Окт 2018
Сообщения
140
#6
При беглом просмотре, да, подойдет и этот способ. Серверная чать уже есть, осталось подогнать под данные.
/query?q=%QUERY% -> /search/title?json=1&q=%QUERY%
Массив с фильмами находится в movies.

Посмотреть вложение 312
пытаюсь сделать по такой системе https://ruseller.com/lessons.php?rub=37&id=2729

по сути выдает,но все данные выдает, ид, название, описание и тд

show1.png

А при выборе из ответов, получаем это

show2.png
 
Енот
Новичек
Регистрация
5 Окт 2018
Сообщения
140
#7
Думает, что помогает
Регистрация
15 Дек 2017
Сообщения
2,034
#8

App

Думает, что помогает
Регистрация
26 Дек 2017
Сообщения
379
#17
попытаться на этом реализовать https://github.com/devbridge/jQuery-Autocomplete

HTML:
<input type="text" name="country" id="autocomplete"/>
JavaScript:
$('#autocomplete').autocomplete({
    serviceUrl: '/search/title',
    paramName: 'q',
    transformResult: function(response) {
        return {
            suggestions: $.map(response.movies, function(movie) {
                return {
                    title: movie.title,
                    url: movie.url
                };
            })
        };
    }
    onSelect: function(suggestion) {
        alert('You selected: ' + suggestion.url + ', ' + suggestion.title);
    }
});
HTML:
<div class="autocomplete-suggestions">
    <div class="autocomplete-group"><strong></strong></div>
    <div class="autocomplete-suggestion autocomplete-selected">...</div>
    <div class="autocomplete-suggestion">...</div>
    <div class="autocomplete-suggestion">...</div>
</div>
CSS:
.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: normal; color: #3399FF; }
.autocomplete-group { padding: 2px 5px; }
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }
 
Енот
Новичек
Регистрация
16 Сен 2018
Сообщения
102
#19
тут все правильно, у вас на скрине (https://enota.club/attachments/mm-png.312/) я вижу, что выводится movies > 0 > а потом уже и данные о фильмах как и на скрине у меня в консоле http://prntscr.com/ldyos8
Всё правильно работает.
Обработать массив нужно.

return data.map(function(movie){return '<a href="' + movie.url + '">' + movie.title + '</a>';}).join('')