Jquery post 方法 - 在更改时自动填充两个下拉字段


Jquery post method - Auto populate two dropdown fields onchange

我有一个名为"选择公司"的下拉列表选择,更改后我将通过从表中获取公司 ID 来自动填充"位置"下拉列表。下面是我的PHP代码,在查询需要自动填充的两个字段后返回结果:

$output = array();
if(!empty($data))
{
    $out = "<select name='location' id='location'>";
    $out .="<option value=''>Select a location</option>";        
    for($i=0;$i<count($data);$i++)
    {
        $out .="<option value='".$data[$i]['id']."'>".$data[$i]['location']."</option>";
    }
    $out .= "</select>";
}
else{
    $out = "<select name='location' id='location'>";
    $out .="<option value=''>No locations added</option>";        
    $out .="</select>";
}
$sql2 = "select id,username from client24_bcpfm.users where cid = '$cid'";
$data2 = return_results($sql2);
if(!empty($data2))
{
    $out2 = "<select name='username' id='username'>";
    $out2 .="<option value=''>Select a User</option>";        
    for($i=0;$i<count($data2);$i++)
    {
        $out2 .="<option value='".$data2[$i]['id']."'>".$data2[$i]['username']."</option>";
    }
    $out2 .= "</select>";
}
else{
    $out2 = "<select name='username' id='username'>";
    $out2 .="<option value=''>No Users</option>";        
    $out2 .="</select>";
}

$output['0'] = $out;
$output['1'] = $out2;
print_r(json_encode($output));

我卡住的部分,使用 jquery 为两个不同的字段迭代两个不同的数组:

$.post('locations2.php',{cid:cid},
function(data)
{
    data = $.parseJSON(data);
    $("#location").html(data);
    return;
});

请让我知道如何返回 2 个下拉列表的 php 值,并在前端 jquery 中遍历它们。

如果你想返回一个数组,你也可以这样做:

echo json_encode(array(
      "out1" => $out,
      "out2" => $out2));

并在jQuery中获取值,如下所示:

$.post('locations2.php',{cid:cid},
function(data)
{
    data = $.parseJSON(data);
    //first array
    $("#location").html(data.out1);
    //second array
    $("#location").html(data.out2);
    return;
});