Jquery post方法 - 在change上自动填充两个下拉字段

时间:2015-01-23 07:19:31

标签: php jquery post

我有一个名为' Select Company'如果我改变了自动填充的地点'通过从表中获取公司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中迭代它们。

1 个答案:

答案 0 :(得分:1)

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

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;
});