根据下拉选择的结果填充文本字段 - 使用php mysql ajax请求

时间:2014-08-14 15:42:01

标签: php jquery mysql ajax

我有一个表单,其中包含产品的下拉选择菜单和应包含产品价格的文本字段。下拉菜单通过php从mysql数据库动态填充。从下拉列表中选择产品后,我需要为文本字段自动填充与该产品相关的价格(在数据库的同一行中)。

到目前为止我所拥有的是:

<label>Product or Service</label>
    <select name="product" required>
        <option value=""></option>

            <?php $productSql = "SELECT product_id, product, price FROM products ORDER BY product desc";

                  $productResult = mysql_query($productSql, $link);

                  while($productRow = mysql_fetch_assoc($productResult)){?>

                  <option value="<?php echo $productRow['product_id'];?>"><?php echo $productRow['product']; ?></option><?php } ?>
    </select>

<label>Price</label>
    <input type="text" name="price">

1 个答案:

答案 0 :(得分:2)

将信息作为data-price属性添加到选项中。

然后,您可以获取<select>当前选中的选项,获取相应的data-price属性,并使用它更新文本字段。

使用jQuery更容易:

$('select[name="product"]').change(function()
    {
         $('#textfieldid').val($('select[name="product"] option:selected').data('price'));
    }
);

但如果需要,你可以使用纯JS获得相同的结果。

注意:您要正确转义输出的任何文本。如果echo $productRow['product'];包含任何&<,则{{1}}会导致奇怪的结果。