2017-07-30 98 views
0

我有一個選擇選項,選擇一個品牌後,我成功地獲得/顯示品牌名稱,但我也希望其他值顯示像價格,有或沒有刷新頁。在表格中顯示其他值從數據庫選擇選項

<?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>'; 

?> 

我可以得到描述的價值,但價格我couldnt。在代表品牌或描述的一個選擇選項中,我也希望將該品牌的價格值分配給一個變量,這樣我就可以在後臺代碼中進行算術運算而不必看到它。謝謝。

回答

0

只使用正在使用的第一屬性,而另一個則在DOM .The正確的方式被忽略多個值存儲在一個單一的選擇錯誤的HTML結構是這樣的:

<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']; 

如果你想在JavaScript中的值,使用jQuery,例如,你可以這樣做:

var value = JSON.parse($('#select_id').val()); // use id of your select control 
var price = value.price; 
var description = value.description; 

你應該做適當的錯誤檢查...

更多詳細信息請點擊這裏: Can an Option in a Select tag carry multiple values?

+0

我的意思是,在代表品牌或描述的一個選擇選項中,我也希望將該品牌的價格值分配給一個變量,這樣我就可以在後面的代碼中進行算術運算而不會看到它。 – Romeo

+0

這就是他所暗示的。我會通過使用json_encode來修改選項值。要提取數據,請在選擇值後使用JSON.parse(如果在不重新加載的情況下顯示)。斜槓也是正斜槓,應該是反斜槓。 – RichGoldMD

+0

我試圖用你的代碼Islan Mahajan,但我仍然不能。 – Romeo

相關問題