我有一个名为"选择公司"的下拉列表选择,更改后我将通过从表中获取公司 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;
});