使用Typeahead自动完成时出现问题

时间:2015-11-15 19:14:25

标签: javascript php html typeahead.js

我按照了一个关于如何使用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的表和两个字段,代码(主题代码)和名称(主题名称)。在此先感谢。

1 个答案:

答案 0 :(得分:1)

只是一个猜测,但我注意到了:

$('#prefetch .typeahead').typeahead({

您在class typeahead的元素中指定了id prefetch的元素,但您不具备任何元素classid。也许(未经测试):

<form action="main.php" method="get" autocomplete="off" id="prefetch">
  <input type="text" id="users" name="user" placeholder="Subject Name" class="typeahead">