[英]Typeahead Sometimes Returns Undefined
我查看了该问题的其他一些答案,但似乎没有一个对我有用。 我有一个使用预输入的输入字段。 它在大多数时间都有效,返回正确的值,但有时返回undefined
。 这是.js文件:
// Add entry item typeahead configuration
$(document).ready(function() {
var items = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("add_entry_item_name"),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: "items.php?add_entry_item_name=%QUERY"
});
items.initialize();
$("#add_entry_item").typeahead({
hint: true,
highlight: true,
minLength: 2
}, {
name: "items",
displayKey: "item_name",
source: items.ttAdapter()
});
});
这是items.php文件:
// Getting an instance of the connection to the database server
$DB = DB::get_instance();
// Setting the header
header("Content-Type: application/json");
// Exiting if nothing is set
if (!isset($_GET["add_entry_item_name"])) {
echo json_encode([]);
exit();
}
// Querying the database and JSON encoding the result
echo json_encode($DB->query("SELECT item_ID, item_name FROM mytable WHERE item_name LIKE ?", array("%{$_GET['add_entry_item_name']}%")));
我已经创建了自己的数据库查询功能,所以这就是您在上面看到的内容。 它运作良好,因此我99%肯定问题出在其他地方...
这是一个示例输出(items.php?add_entry_item_name = tec):
[
{
"item_ID": 465,
"item_name": "Tectonic energy"
}
]
但是,在我的输入字段中键入“ tec”会返回两个undefined
的。
有什么建议么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.