我有一个表单,其中包含产品的下拉选择菜单和应包含产品价格的文本字段。下拉菜单是通过 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">
最佳答案
将信息添加为data-price
属性到选项。
然后就可以获取<select>
当前选中的选项,得到对应的data-price
属性,并用它更新文本字段。
使用 jQuery 更容易:
$('select[name="product"]').change(function()
{
$('#textfieldid').val($('select[name="product"] option:selected').data('price'));
}
);
但是如果需要的话,您当然可以使用纯 JS 实现相同的结果。
注意:您希望正确转义输出的任何文本。 echo $productRow['product'];
如果它包含任何 &
可能会导致奇怪的结果或<
.
关于php - 根据下拉选择的结果填充文本字段 - 均使用 php mysql ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25312164/