我目前正在制作一个自动填写的表单。现在,建议的值来自JavaScript列表:
<script type="text/javascript">
$('#textarea').textext({
plugins : 'autocomplete suggestions tags filter',
suggestions: [
'Basic',
'Cobol',
'Go'
]
});
我正在使用一个函数从数据库中获取我的名字列表:
$users->selectFirstnameSurname();
$userQueryResult = $users->queryResult;
$listOfNames = $users->listOfNames;
我通过在数据库中附加firstname和lastname来获取值,如下所示:
public function selectFirstnameSurname() {
$query = $this->db->prepare("SELECT * FROM `users` ORDER BY `username`");
$listOfNames[] = '';
try{
$query->execute();
foreach ($query as $row) {
array_push ($listOfNames, $row['firstname'].' '.$row['lastname']);
}
$this->queryResult = $query->fetch();
$this->listOfNames = $listOfNames;
} catch(PDOException $e){
die($e->getMessage());
}
}
我想要做的是获取数组$listOfNames
的值并替换脚本中的建议。
答案 0 :(得分:0)
您需要有一种方法来传递数据集,以便您的JavaScript代码可以访问它。如果您的数据集是静态的并且JS进行过滤,那么您可以将它们静态转储为JS对象(JSON),如
[
{
"id": 1,
"label": "user name"
},
{
"id": 2,
"label": "other user"
}
]
JSON的确切格式当然取决于您的自动完成实现。
或者为了使它更具动态性(如果你有一个大数据集,那就好了)你可以通过AJAX调用一个简单的API来获取数据。如果您需要更多详细信息,可以参考http://www.pontikis.net/blog/jquery-ui-autocomplete-step-by-step
等教程