AJAX / PHP-用一个Ajax调用填充不同类型的输入字段

问题描述 投票:0回答:1

我想出了如何通过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的相应字符串预先填充#team2myurl.php文本字段。

但是,它没有用选项#team_member1(mysql结果集)列表预先填充$output

提前感谢。

php mysql json ajax dropdown
1个回答
0
投票

事实证明AJAX成功,我需要返回$('#team_member1').html(data["g1"]);

而不是$('#team_member1').val(data["g1"]);

© www.soinside.com 2019 - 2024. All rights reserved.