我有一个表单,其中包含产品的下拉选择菜单和应包含产品价格的文本字段。下拉菜单通过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">
答案 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}}会导致奇怪的结果。