[英]Displaying the other values in the table on select option from database
我有一個選擇選項,選擇一個品牌后,我可以成功獲取/顯示該品牌名稱,但是我還希望顯示其他值,例如價格,無論是否刷新頁面。
<?php
require_once 'config.php';
echo '<select class="form-control action" name="tran_description" value="<?
php echo $tran_description; ?>" style="background-color:#F0F0F0">';
$sql = mysqli_query($mysqli, 'SELECT * FROM products order by product_id');
while ($row = $sql->fetch_assoc()){
echo '<option id="' . $row['product_id'] . '"';
echo ' value="' . $row['description'] . '" ';
echo ' value="' . $row['price'] . '" ';
if($row['description'] == $tran_description) {
if($row['price'] == $tran_price) {
$tran_price = $row['price'];
echo ' selected="selected"';
}
}
if($row['product_id'] == $row['description']) {
echo ' selected="selected"';
}
echo '>';
echo $row['description'];
echo '</option>';
}
echo '</select>';
?>
我可以得到描述的價值,但我無法獲得價格。 在一個代表品牌或描述的選擇選項中,我還希望將所選品牌的價格分配給一個變量,這樣我就可以在后台代碼中進行算術運算而無需查看它。
您使用了錯誤的HTML結構,只有第一個屬性被使用,而另一個屬性在DOM中被忽略。在單個選擇中存儲多個值的正確方法如下所示:
<select name="">
<option value="{'num_sequence':[0,1,2,3]}">Option one</option>
<option value="{'foo':'bar','one':'two'}">Option two</option>
</select>
您的情況應該是這樣的:
echo '<option id="' . $row['product_id'] . '"';
// echo ' value="{ /"description:/"' . $row['description'] . ', /"price:/"' . $row['price'] . ' }" ';
echo ' value="' .
json_encode(['description'=>$row['description'], 'price'=>$row['price']) .
'">";
然后要獲得的價值是:
$description = $_POST['NameOfSelectInput']['description'];
$price = $_POST['NameOfSelectInput']['price'];
例如,如果要使用jQuery獲取javascript中的值,則可以執行以下操作:
var value = JSON.parse($('#select_id').val()); // use id of your select control
var price = value.price;
var description = value.description;
您應該進行適當的錯誤檢查...
有關更多詳細信息,請參見此處: Select標記中的選項可以攜帶多個值嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.