下拉onchange事件从mysql获取ajax中的text tbox中的数量

我更改了我的下拉菜单,但我没有在我的文本框中获得金额。


这段代码有什么问题吗?我需要更改功能吗?


数据库表名是product


以前的:


pid product  amount

1   phone     1500

索引.php



<div class="form-group">

        <label for="product">product name</label>

          <select class="form-control" id="product" name="product" onChange="getamount(this.value);">

          <option value="">Select product</option>


      </div>

      <div class="form-group">


          <label for="amount">amount</label>

          <input type="text" class="form-control" id="amount" placeholder="amount" name="amount" readonly>


      </div>

阿贾克斯功能:


function getamount(val) {

  alert(val);

    $.ajax({

    type: "POST",

    url: "get_amount.php",

    data:'pid='+val,

    success: function(data){

        $("#amount").html(data);

    }

    });

}

获取金额.php


<?php

require_once("db.php");

if(!empty($_POST["pid"])) 

{

$query =mysqli_query($conn,"SELECT amount FROM product WHERE pid= '" . $_POST["pid"] . "'");

?>

<?php

while($row=mysqli_fetch_array($query))  

{

?>

<input type="text" value="<?php $row['amount]?>">

<?php

}

}

?>


湖上湖
浏览 79回答 1
1回答

呼唤远方

在您的 html 代码中,没有关闭 select-tag,option 字段的值为空,并且没有其他选项,因此不会触发 onchange。我还在您的 getamount 函数中更改了 ajax 调用的数据。这就是我测试它的方式,让它工作:function getamount(val) {&nbsp; alert(val);&nbsp; $.ajax({&nbsp; &nbsp; type: "POST",&nbsp; &nbsp; url: "get_amount.php",&nbsp; &nbsp; data: {&nbsp; &nbsp; &nbsp; pid: val&nbsp; &nbsp; },&nbsp; &nbsp; success: function(data) {&nbsp; &nbsp; &nbsp; $("#amount").html(data);&nbsp; &nbsp; }&nbsp; });}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><div class="form-group">&nbsp; <label for="product">product name</label>&nbsp; <select class="form-control" id="product" name="product" onChange="getamount(this.value);">&nbsp; &nbsp; <option value="">Select product</option>&nbsp; &nbsp; <option value="1">Select product1</option>&nbsp; &nbsp; <option value="2">Select product2</option>&nbsp; </select></div><div class="form-group">&nbsp; <label for="amount">amount</label>&nbsp; <input type="text" class="form-control" id="amount" placeholder="amount" name="amount" readonly></div>
打开App,查看更多内容
随时随地看视频慕课网APP