2012-08-29 157 views
2

我一直在努力尋找解決方案來實現這一點。我有一個HTML表單填充了來自數據庫的數據。該表由6列組成,其中一列被命名爲'狀態',其下面的每個單元格中都有一個下拉菜單。當用戶從下拉菜單中選擇一個值時,該菜單由三個值'Pending''Approved'和'已拒絕'組成,該行中的所有單元格應該改變顏色(綠色 - 已批准,琥珀色 - 待定,紅色 - 已拒絕)使用下拉菜單選擇一行表格單元格

這裏是我到目前爲止的代碼:

<?php 
$result = mysql_query("SELECT * FROM Orders") 
or die (mysql_error()); 
?> 
<table class="table1" style="background-color:#ffffff;" > 
<h4>Purchase Orders</h4> 
<tr> 
<th>Order Number</th> 
<th>Order Date</th> 
<th>Ordered By</th> 
<th>Supplier</th> 
<th>Total Price</th> 
<th>Status</th> 
</tr> 
<?php 
while($row=mysql_fetch_array($result)){ 
echo "</td><td>"; 
echo $row['Orderno']; 
echo "</td><td>"; 
echo $row['Orderdate']; 
echo "</td><td>"; 
echo $row['Orderedby']; 
echo "</td><td>"; 
echo $row['Supplier']; 
echo "</td><td>£"; 
echo $row['totalprice']; 
echo "</td><td>"; 
echo ' <select id="'.$row['Orderno'].'" onchange="myJSFunction(this)"> 
<option></option> 
<option>Approved</option> 
<option>Pending</option> 
<option>Disapproved</option>     
</select>'; 
echo "</td></tr>"; 
} 
echo "</table>"; 
?> 

它將如果有人能在正確的方向點我將不勝感激。如何爲每個顏色更改創建三個函數,然後將其應用於每個選項值。如果我申請Orderno,該行上的所有單元格是否都會受到影響?

非常感謝

+0

你應該粘貼你的實際生成的HTML,而不是PHP代碼 –

+0

這與你問的最後一個問題有何不同:http://stackoverflow.com/questions/12180492/creating-a-dynamic-drop-down-menu-when -returning-A-的mysql-結果集? – j08691

+0

如果你喜歡prev q-ns的答案,你必須接受他們 –

回答

1

我知道你不標記與jQuery你的問題,但是如果它是一個選項,您可以使用此:

$(document).ready(function() { 
    var color = ['none', 'green', 'yellow', 'red']; 
    $('table.table1').on('change','select', function() { 
     $(this).parents('tr').css('background', color[$(':selected', this).index()]); 
    });​ 
}); 

jsFiddle example

+0

非常感謝您的解決方案,我將如何實現這個PHP代碼?此刻,我將Javascript包含到頁面的標記中,然後在腳本中調用該函數,如:echo'但行顏色不會改變。再次感謝 – m1243

+0

首先,您需要將jQuery庫包含在頁面頭部,並遵循上面的代碼塊。之後,它應該工作。 – j08691

+0

好的,謝謝,像這樣? 然後是另一組腳本標記?當我創建