typeahead遥控器只返回一个项目

时间:2018-01-29 09:12:11

标签: typeahead.js

我无法为我做头脑工作。

我的HTML代码是这样的:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="/js/typeahead.bundle.min.js"></script>



</head>

<body>


<div id="remote">
    <input class="typeahead" type="text" placeholder="Oscar winners for Best Picture">
</div>

<script>
    $(document).ready(function () {


        var bestPictures = new Bloodhound({
            datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
            queryTokenizer: Bloodhound.tokenizers.whitespace,
            remote: {
                url: '/service-autocomplete.php'
            }
        });



        $('#remote .typeahead').typeahead(null, {
            name: 'best-pictures',
            display: 'value',
            source: bestPictures
        });
    });
</script>
</body>
</html>

我的服务(service-autocomplete.php)包含:

<?php




$data = [
    [
        "value" => "amelie",
    ],
    [
        "value" => "anastasia",
    ],
    [
        "value" => "paul",
    ],
    [
        "value" => "pierre",
    ],
];

header('Content-Type: application/json');
echo json_encode($data);

现在无论我在输入中输入什么内容(1个字母或多个字母),只会出现第一个建议(amelie)。

我希望typeahead显示所有结果:amelie,anastasia,pierre,paul。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我发现这个名为jquery.typeahead的插件: http://www.runningcoder.org/jquerytypeahead/

它可以满足我所需要的一切,而且它可以直接使用。 所以,我切换到了jquery.typeahead。