通过选择一个字段自动完成(自动填充)多个字段

Posted

技术标签:

【中文标题】通过选择一个字段自动完成(自动填充)多个字段【英文标题】:Autocomplete(auto fill) multiple field by selecting one field 【发布时间】:2016-11-28 12:45:29 【问题描述】:

我正在尝试通过从一个字段中进行选择来自动填充相关字段。喜欢..选择公司名称并自动填写其描述,编号。我不知道 jquery 我看了几个例子但没有找到或理解。

if (isset($_GET['type']) && $_GET['type'])
$company = array();
try 
    $statC = $db->prepare('SELECT CompanyID, CompanyName, CompanyNumber, CompanyDescription FROM Company');
    $statC->execute(array('type' => '%'.$_GET['type'].'%'));

    while($row = $statC->fetch()) 
        $company[] =  $row['CompanyName'];
        $company[] = $row['CompanyID'];
        $company[] = $row['CompanyNumber'];
        $company[] = $row['CompanyDescription'];
    
 catch(PDOException $e) 
    echo 'ERROR: ' . $e->getMessage();

echo json_encode($company);

我的 jquery 自动完成功能有效,但在一个输入字段中显示所有结果

 $(function() 

    //autocomplete Day
    $(".companyid").autocomplete(
        source: "company.php",
        minLength: 1
    );
);

我应该在 php 中创建单独的数组吗?喜欢

$comName = array();
$comID = array();
$comDes = array();
$comNum = array();

【问题讨论】:

您可以通过选择自动完成事件来做到这一点。在选择事件时使用 ajax 获取相关数据并将其分配给表单元素。 【参考方案1】:

jquery UI Autocomplete 用于在像谷歌一样输入时显示建议。你可以

var type = 'Your type goes here';
$.getJSON( "ajax/test.json?type=" + type, function( data ) 
    //data will be a json object of following structure
    //"CompanyName":"CompanyName", "CompanyID":"CompanyID", "CompanyNumber":"CompanyNumber", "CompanyDescription":"CompanyDescription"
    //
)

【讨论】:

以上是关于通过选择一个字段自动完成(自动填充)多个字段的主要内容,如果未能解决你的问题,请参考以下文章

Json 返回多个字段

JQuery 自动完成:在一个字段中显示同一个 JSON 对象的多个属性

在 JQuery 自动完成填充输入字段后调用新函数

如果表单有超过 200 个输入字段,则自动填充/自动完成不起作用

选中时,jQuery自动完成填充另一个字段

角度材质2自动完成与角度5