我查看了所有其他'length' of null
个问题,但他们没有帮助我。
我正在使用YouTube教程使用typeahead.js将autosuggest实现到表单中,但它不起作用。 Chromes控制台推出:
Uncaught TypeError: Cannot read property 'length' of null
有人可以帮助我,指出我错在哪里。
这里有相关的html:
<form action="index.php" method="get" autocomplete="off">
<input type="text" name="user" id="users">
<input type="submit" value="Go">
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="js/typeahead.js"></script>
<script src="js/global.js"></script>
和相关的js:
$(document).ready(function() {
var users = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('username'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: 'users.php?query=%QUERY'
});
users.initialize();
$('#users').typeahead({
hint: true,
highlight: true,
//minLength: 2
}, {
name: 'users',
displayKey: 'username',
source: users.ttAdapter() // what is ttAdapter() ?
});
});
答案 0 :(得分:0)
在YouTube教程评论中,有人指出了这一点:
当我替换时为我工作:
remote: 'users.php?query=%QUERY'
with:
remote: {
url: 'users.php?query=%QUERY',
wildcard: '%QUERY'
}
现在可行。