gpt4 book ai didi

javascript - Typeahead.js 基本与 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 03:00:23 25 4
gpt4 key购买 nike

我正在关注一个在线教程 ( http://mycodde.blogspot.co.uk/2013/12/typeaheadjs-autocomplete-tutorial-ajax.html#comment-form ),其中包含 typeahead.js 和一个简单的 MySQL 数据库,但我无法让它工作。

使用 typeahead.js v10.2 jQuery v1.9.1 和 Bootstrap v3.2.0

我已经包含了必要的 css 和 js 文件,我还创建了一个 connection.php 文件,它成功连接到我的本地主机数据库。

问题是自动建议框不会自动建议任何东西。由于我是 js 和编程的新手,所以我可能在做一些愚蠢的事情。

如果有人愿意为我指出正确的方向,我会在下面包含我的文件,我将不胜感激。

索引.php

<!DOCTYPE>
<html lang="en">

<head>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<title>Typeahead.js Tutorial with Mysql Database</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 1.23.1" />
</head>

<body>
<input type="text" name="search" id="search"></div>
</body>

<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/js/bootstrap.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/typeahead.js/0.10.2/bloodhound.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/typeahead.js/0.10.2/typeahead.bundle.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/typeahead.js/0.10.2/typeahead.jquery.js"></script>
<script>
$("document").ready(function(){
$("#search").typeahead({
name : 'sear',
remote: {
url : '/connection.php?query=%QUERY'
}

});
});
</script>

</html>

连接.php

<?php

$con=mysqli_connect("localhost","myuser","mypassword","mydb");

// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT first_name,last_name FROM actor");

while($row = $result->fetch_object()){
$user_arr[] = $row->first_name;
$user_arr2[] = $row->last_name;

}

mysqli_close($con);

?>

当我检查 firebug 控制台时,我得到一个 Uncaught TypeError: undefined is not a function 出现在第 22 行;

$("#search").typeahead({

有人可以帮忙吗?

谢谢

最佳答案

您需要在 .js 文件中添加以下代码:

    var search = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('sear'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 10,
remote: {
url: '/connection.php?query=%QUERY',

filter: function(list) {
return $.map(list, function(search) {
return {
name: sear
};
});
}
}
});

json 文件包含一个字符串数组,但是 Bloodhound建议引擎需要 JavaScript 对象,因此这会转换所有这些字符串。

关于javascript - Typeahead.js 基本与 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24632406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com