我按照了一个关于如何使用Typeahead.js自动完成表单的youtube教程。但它似乎没有用。我错过了什么吗?或依赖的一些变化?这是我现在尝试过的。
HTML
$num = str_replace(',00', '', number_format($value, 2, ',', '')); // e.g. 100,00 becomes 100
JS
的 search.js
<!DOCTYPE html>
<html lang="en">
<head>
<title>Sample</title>
</head>
<body>
<form action='main.php' method="get" autocomplete="off">
<input type="text" id="users" name="user" placeholder="Subject Name">
<input type="submit" value="Go">
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.js" />
<script src="js/typeahead.js" />
<script src="js/search.js" />
</body>
</html>
PHP
的 result.php
$(document).ready(function() {
var users = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'result.php?query=%QUERY',
wildcard: '%QUERY'
}
});
users.initialize();
alert(users);
$('#prefetch .typeahead').typeahead({
hint:true,
highlight: true,
minLength:1
}, {
name: 'user',
displayKey: 'name',
source: users.ttAdapter()
});
});
SQL包含名为sample的表和两个字段,代码(主题代码)和名称(主题名称)。在此先感谢。
答案 0 :(得分:1)
只是一个猜测,但我注意到了:
$('#prefetch .typeahead').typeahead({
您在class
typeahead
的元素中指定了id
prefetch
的元素,但您不具备任何元素class
或id
。也许(未经测试):
<form action="main.php" method="get" autocomplete="off" id="prefetch">
<input type="text" id="users" name="user" placeholder="Subject Name" class="typeahead">