我想使用存储在名为带有id和term列的术语
的表中的术语我如何使用数据库而不是数组自动完成?
<!DOCTYPE html>
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$("input#autocomplete").autocomplete({
source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]
});
});
</script>
</head>
<body style="font-size:62.5%;">
<input id="autocomplete" />
</body>
</html>
答案 0 :(得分:0)
您可以使用ajax调用获取数组,或者在页面加载时初始化
<script>
var myArr = [<?php foreach($dbRows as $row){ echo "\"$row['keyword']\","} ?>];
</script>
答案 1 :(得分:0)
有两种方法可以连接数据库。两者的共同之处在于,您需要PHP(或其他语言),它们将连接到数据库并准备自动完成的结果。
第一种方式是Headshota如何描述它。在这个解决方案中,PHP将自动填充单词填入HTML页面。
第二种解决方案是当自动完成向服务器发出另一个请求然后下载单词列表时。在autocomplete demo page上,您将在底部找到指向PHP源文件的链接。在演示页面的HTML代码中,您可以在“Single Bird(remote)”下找到编写HTML / JavaScript代码的方法。
您选择哪种方式主要取决于表格中的行数。如果你有几百行,那么我会选择第二个解决方案。对于较少的数据,第一种解决方案也可以。