Я следил за серией автоматически предлагаемых видеороликов phpacademy на YouTube, но застрял на этом этапе и, похоже, не могу понять, что было неправильно:
Вот моя форма:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="scripts/typeahead.js"></script>
<script src="scripts/searchScript.js"></script>
<form action="index.php" method="GET">
<input type="text" name="user" id="header-query"><input type="submit" name="submit" value="Go">
</form>
Вот мой searchScript.js
$(function(){
var users = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitepsace,
remote: 'inc/search.inc.php?query=%QUERY'
});
users.initialize();
$('#header-query').typeahead({
hint: true,
highlight: true,
minlength: 3
}, {
name: 'user',
displaykey: 'name',
source: users.ttAdapter()
});
});
Я получаю следующую ошибку на моей консоли Firefox:
Error: datumTokenizer and queryTokenizer are both required...,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFuncti...
On Jquery.min.js(line2, col 1820)
Попробуйте следующее:
Кажется, вы неправильно написали включение файла js
В настоящее время это:
<script src="scripts/typahead.js"></script>
Так должно быть
<script src="scripts/typeahead.js"></script>
Для дальнейшего решения проблемы лучше включить typeahead.bundle.js скрипт. Я думаю, что вы можете пропустить код bloodhound.js:
<script type='text/javascript' src="http://twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.js"></script>
Других решений пока нет …