0

我在 MySQL 数据库中有一个表,其中包含以下列:姓名、地址、职业、电话号码和序列号。在我的 html 表单中,在其他字段中,我有用于输入姓名、电话号码和序列号的文本字段。如何使用 jQuery 自动完成和 PHP/MySQL 使用序列号字段填充名称和电话号码字段?我已经设法在一个输入字段上设置自动填充,但我不知道如何设置它以使用具有自动完成功能的一个字段填充其他两个字段。谢谢

这些是领域

   <input type="text" name="name" id="autocomplete" />
   <input type="text" name="phone_number" id="autocomplete" />
   <input type="text" name="serial_number" id="autocomplete" />

这是我从 db 获取字符串的 php 脚本

<?php
$dbhost = 'YOUR_SERVER';
$dbuser = 'YOUR_USERNAME';
$dbpass = 'YOUR_PASSWORD';
$dbname = 'YOUR_DATABASE_NAME';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);

$return_arr = array();

if ($conn)
{
    $fetch = mysql_query("SELECT name, phone_number, serial_number FROM users");


    while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
        $row_array['value'] = $row['name'] . " " . $row['phone_number'] " . $row['serial_number'] ";         
        array_push($return_arr,$row_array);
    }


}
mysql_close($conn);
echo json_encode($return_arr);
?>
4

1 回答 1

1

您需要做的是,当序列号的自动完成完成后,运行 ajax-call 以根据序列号检索姓名和电话号码,然后填充这些字段,如下所示:

$('input[name=serial_number]').autocomplete({
    onComplete: function (val) {
        $.getJSON('/url-to-fetch-name-and-phone.php?serial_number=' + val, function (data) {
            $('input[name=name]').val(data.name);
            $('input[name=tel]').val(data.tel);
        });
    }
});

显然,您需要根据您的设置更改一些函数和变量名称。

于 2012-07-03T11:28:13.767 回答