我无法为我做头脑工作。
我的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。
我做错了什么?
答案 0 :(得分:0)
我发现这个名为jquery.typeahead的插件: http://www.runningcoder.org/jquerytypeahead/
它可以满足我所需要的一切,而且它可以直接使用。 所以,我切换到了jquery.typeahead。