如何使用单个ajax调用加载多个输入字段数据?

时间:2019-01-20 11:39:13

标签: php jquery mysql ajax

我想通过选择产品代码来加载产品名称和价格。但是我不知道。我尝试用这种方法,但一次在一个字段中显示名称和价格。

这是我的HTML页面代码。

df_result = 
     name  amount  date
 0     A     10      1
 1     B     15      1
 2     A     15      2
 3     B     15      2
 4     A     15      3
 5     B     15      3
 6     C      7      3
 7     A     23      4
 8     B     25      4
 9     C     18      4

这是php代码

<select name="" id="" class="code">
    <option value="">Select</option>
<?php
    $db = new mysqli("localhost","root","","test");

    $select = $db->query("select code from product");

    while (list($code) = $select->fetch_row()) {
        echo "<option value='$code'>$code</option>";
    }
?>
</select> <input type="text" class="name"> <input type="text" class="price">

<script>
    $(function(){
        $(".code").change(function(){
            var code = $(this).val();
            $.ajax({
                url : 'select.php',
                method : 'POST',
                data : {code:code},
                success : function(echo){
                    $('.name').val(echo);
                    $('.price').val(echo);
                }
            });

        });
    })
</script>

?>

1 个答案:

答案 0 :(得分:0)

您必须将数据作为json返回,然后才能在ajax响应上获取它们

<?php
echo json_encode(['name'=>$name,'price'=>$price]);

?>

您的脚本:

<script>
    $(function(){
        $(".code").change(function(){
            var code = $(this).val();
            $.ajax({
                url : 'select.php',
                method : 'POST',
                data : {code:code},
                success : function(echo){
                    $('.name').val(echo.name);
                    $('.price').val(echo.price);
                }
            });

        });
    })
</script>
相关问题