gpt4 book ai didi

php - 使 jQuery UI 自动完成源依赖于另一个自动完成

转载 作者:行者123 更新时间:2023-12-01 05:41:46 25 4
gpt4 key购买 nike

问题出在标题中,我不知道如何使自动完成小部件依赖于另一个小部件。在我的示例中,我的数据库中有 2 列:

  • 名字
  • 姓氏

还有一些行:

Dupont Francois
Dupont Oliver
Lapeche Jean

如果我在第一个自动完成输入中输入 Dupont,我希望第二个自动完成输入建议 OliverFrancois而不是 吉恩!

这是我的 HTML 代码:

<form action="../../controler/add/addUserDevice.php" onsubmit="return verifUserDevice(this)" method="post">
<table>
<tr>
<td>Last Name</td>
<td><input type="text" class="userLastName" name="userLastName"/></td>
</tr>
<tr>
<td>First Name</td>
<td><input type="text" class="userFirstName" name="userFirstName" /</td>
</tr>
<tr>
<td colspan="3"><input class="buttonIndex" type="submit" value="Create" /></td>
</tr>
</table>

以及我的第二个自动完成功能的 PHP 代码

<?php
include('../../model/connexion_sql.php');

if ((include_once '../../model/connexion_sql.php') === FALSE)
exit('erreur include');

if (isset($_GET['term'])) {
$connection = new Connection;
$connection->connection();
$conn = $connection->getConnection();
$requete = $conn->prepare('SELECT userFirstName FROM user WHERE userFirstName LIKE :term');
$requete->execute(array('term' => $_GET['term'] . '%'));
$array = array();
while ($donnee = $requete->fetch()) {
$array[] = $donnee['userFirstName'];
}
echo json_encode($array);
}
?>

和我的 JavaScript:

$(function(){ 
$(".userFirstName").autocomplete({
source: '../../model/autocomplete/userFirstName.php',
minLength: 1
});
});

最佳答案

$(function() {   
$(".userFirstName").autocomplete({
autoFocus:true,
source: function( request, response ) {
$.ajax({
url: '../../model/autocomplete/userFirstName.php?userLastName=' + $("#userLastName").val() + "&term=" + request.term,
dataType: "json",
success: function( data ) {
response(data);
}
});
},
minLength: 1
});
});

您的 ajax 请求将如下所示。

id="userLastName" 添加到您的 userLastName 输入中。

将其添加到您的 PHP 脚本中

if($_GET['userLastName']) {
$userLastName = $_GET['userLastName'];
} else $userLastName = null;

然后更改

SELECT userFirstName FROM user 
WHERE userFirstName LIKE :term

作者

SELECT userFirstName FROM user 
WHERE userFirstName LIKE :term
AND (userLastName = :userLastName OR :userLastName is null)

关于php - 使 jQuery UI 自动完成源依赖于另一个自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30324821/

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