我想出了如何通过AJAX填充文本框。我还能够从AJAX中填充一个下拉选择框。但是我似乎无法在一个AJAX调用中同时填充文本框和选择框。
这里是我所拥有的娱乐内容:
<?php echo "
<script type="text/javascript" language="javascrpt">$(document).ready(function(){
$('#test').change(function() {
$.ajax({
url:"myurl",
type:"POST",
dataType: "json",
data: {test: $(this).val()},
success:function(data)
{
$('#team1').val(data["team1"]);
$('#team2').val(data["team2"]);
$('#team_member1').val(data["g1"]);
}
});
});
});
</script>
<select name='test' id='test'>
<option value='1'></option>
<option value='2'></option>
<option value='3'></option>
</select>
<input type='text' name='team1' id='team1' value='".$t1."'>
<select name='team_member1 id='team_member1'>
<option value='".$output."'></option> <!--!!HELP HERE!!-->
</select>
<input type='text' name='team2' id='team2' value='".$t2."'>
myurl.php
<?php
$con = mysqli_connect("localhost","root","root","local");
$output='';
$sql = "SELECT name FROM team WHERE id='".$_POST["test"]."'";
$result = $con->query($sql);
while($row = $result->fetch_assoc())
{
$output .= '<option value="'.$row['name'].'">'.$row['name'].'</option>';
}
$t1='Boston Falcons';
$t2='Human Resources';
$response = array(
"team1" => $t1,
"team2" => $t2,
"g1"=>$output, <---mysql resultset for dropdown not working
);
echo json_encode($response);
?>
[更改#test
后,AJAX可以使用来自#team1
的相应字符串预先填充#team2
和myurl.php
文本字段。
但是,它没有用选项#team_member1
(mysql结果集)列表预先填充$output
。
提前感谢。
事实证明AJAX成功,我需要返回$('#team_member1').html(data["g1"]);
而不是$('#team_member1').val(data["g1"]);