【发布时间】:2016-10-18 15:01:18
【问题描述】:
我发现了几个类似的问题,但没有相同的“变量”,所以我们开始吧:
我有一个简单的表格,我在其中输入了一个名字,我需要自动填写表格的其余部分 (ID)。
在数据库中获取数据不是问题,我可以使用 PHP (Search.php) 返回 Json:
//get search term
$searchTerm = $_GET['term'];
//get matched data from table
$query = $db->query("SELECT * FROM info_employer WHERE Prenom LIKE '%".$searchTerm."%' ORDER BY Prenom ASC");
while ($row = $query->fetch_assoc()) {
$data[] = array( Nom => $row['Prenom'] . ' ' . $row['Nom'], Num => $row['Num'] );
}
//return json data
echo json_encode($data);
这给了我一个如下所示的数组:
[{"Nom":"Andre Nadeau","Num":"104J"},{"Nom":"Andre Potvin","Num":"130J"},{"Nom":"Andre Thibodeau","Num":"91J"}]
朋友告诉我应该使用 Jquery 和 Ajax 来使用这个数组来填写我的表单,但我有 2 个问题。
首先,如果我返回一个数组而不是“只是名称”,我的自动完成表单将不再起作用。它给了我 X 个空格(取决于结果的数量)。
当然我最大的问题是我无法在表单中发送 ID (Num)
我用来自动完成名称的Javascript:
<script>
$(function() {
$( "#Nom" ).autocomplete({
source: 'Search.php',
})
})
</script>
【问题讨论】:
-
source 参数需要一个简单的数组,而您将多维数组传递给它。
标签: javascript php jquery ajax autocomplete