根据下拉菜单中的项目选择在文本框上显示价格

时间:2017-04-13 17:06:02

标签: javascript php mysql

我无法在select的{​​{1}}中显示商品的价格。到目前为止,这是我的代码:

input

例如,如果从下拉列表中选择了项目A,我希望项目A的价格显示在我的<table border="1"> <tr> <td> <select name="productName" onchange="changeValue(this.value)"> <option value="0">Product</option> <?php $query = "SELECT * FROM tblProduct ORDER BY productName ASC"; $result = mysqli_query($conn, $query); $test123 = "var dtPRD= new Array();\n"; while ( $data=mysqli_fetch_array($result)) { echo "<option value='{".$data['productCode']."}'>".$data['productName']." </option>"; $test123 .= "dtPRD['" . $data['productName'] . "'] = {productPrice:'" . ($data['productPrice']). "'};\n"; } ?> </select> </td> <td> Price<input type="text" name="productPrice"> </td> </tr> </table> <script type="text/javascript"> <?php echo $test123; ?> function changeValue(productName){ document.getElementByName'namaProduk').value = dtPRD[productName].productPrice; }; </script> 中。现在,我的代码没有这样做。

图像:

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试使用此代码 - 我使用array来实现您的目标!

您还可以生成多维数组以指向产品。

从php或数据库中获取数组:解释here

&#13;
&#13;
var array = ["919$","929$","939$","949$"];

function changeValue(productName) {
  document.getElementById('productPrice').value = array[productName];
};
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
  <tr>
    <td>
      <select name="productName" onchange="changeValue(this.value)">
        <option >Product</option>
        <option name="product" value="0">Product-Name 1</option>
        <option name="product" value="1">Product-Name 2</option>
        <option name="product" value="2">Product-Name 3</option>
        <option name="product" value="3">Product-Name 4</option>
      </select>
    </td>
    <td>
      Price<input type="text" id="productPrice">
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;