В настоящее время я пытаюсь настроить автозаполнение в поле поиска. Я использую рельсы4-автозаполненный драгоценный камень. Я прочитал документацию здесь: https://github.com/peterwillcn/rails4-autocomplete и выполнил все шаги, чтобы заставить ее работать, и она работает. Я начинаю печатать в окне поиска, и я получаю ожидаемые результаты.Uncaught TypeError: this.source не является функцией при использовании rails4-autocomplete
Следующим шагом было реализовать функцию поиска по одному клику. Когда я нажимаю на один из предложений автозаполнения, я хочу, чтобы сайт перешел на соответствующую страницу для этого элемента. Я использовал советы на этой странице под названием автозаполнение Магии с Rails на http://www.yoniweisbrod.com/autocomplete-magic-with-rails/
В основном вы добавляете крючок событий, отправляет кнопку поиска при выборе пункта.
$(document).ready(function() {
$('.search-query').bind('railsAutocomplete.select', function(event, data {
$('.search-me').trigger('click')
});
});
Этот вид работ, когда я его реализации, как иногда, когда я щелкаю по этому пункту я хочу это идет на страницу, а в остальное время он никуда не идет. Он просто заполняет текстовое поле информацией о товаре, но не отправляет его. В этих случаях я получаю ошибку JQuery, который читает:
Uncaught TypeError: this.source is not a function - autocomplete.self-3befc48aba87cead090cfd014562b2771a662ac6d2c8197b24c08b2d9f3d9f2d.js?body=1:440
Обновление страницы устраняет проблему, которая привела меня думать, мой Javascript не нагружал в правильном порядке. Поэтому я применил jQuery Turbolinks gem, чтобы убедиться, что событие jQuery всегда загружается без обновления страницы. Это не помогло.
Для информационных целей, мой JQuery выглядит следующим образом:
$("#username").autocomplete({ html: true });
Установка опции HTML для истинно позволяет мне оказывать HTML в результатах поиска.
Я был гуглингом, но пока не повезло. Любые идеи, кто-нибудь? Благодаря!
Спасибо за предложение. К сожалению, указание источника на автозаполнение, похоже, не имеет значения. – Nic
попробуйте следующее: '$ (" # your-id "). Autocomplete ({source: data}); –
Это именно то, что я сделал, но не повезло: $ ("#username") .autocomplete ({html: true}, {source: source_array}); – Nic