2013-03-14 31 views
0

我目前使用PHP來填充一個HTML表格,每行一個下拉菜單:如何獲取另一列的下拉值更改值?

echo " <tr>"; 
echo "  <td>" . $row["order_id"] . "</td>"; 
echo "  <td>" . $row["status_name"] . "</td>"; 
echo "  <td>"; 
echo "   <select name=\"status_dropdown\" onchange=\"handleStatusChange(this);\">"; 

while ($row = $result->fetch_array(MYSQL_ASSOC)) 
{ 
    // Output the dropdown options 
    echo "<option value=\"" . $row["status_id"] . "\">" . $row["name"] . "</option>"; 
} 

而且我有一個JavaScript函數,將觸發一個值變化:

<script type="text/javascript"> 
    function handleStatusChange(dropdown) 
    { 
    // I would like to use the Order ID value here ... 
    } 
</script> 

我怎樣才能從下拉的當前行獲取「order_id」值(存儲在另一列中)?我想在JavaScript函數中訪問該「order_id」值。

我需要AJAX或JQuery嗎?

正如你可以看到我在web開發新手:\

回答

0

我想你可以使用jQuery的事件,而不是具有約束力onchange

$('select[name="status_dropdown"]').change(function(event){ 
    var $this = $(event.target); 
    var orderId = $this.closest('tr').children('td:eq(0)').text() 
}); 

演示:Fiddle

+0

它的工作原理就像一個魅力!謝謝:) – user2170838 2013-03-14 19:03:50

+0

如何選擇下拉列表中的值,我嘗試了$ this.value但沒有工作:\ – user2170838 2013-03-14 19:57:10

+0

沒關係,我明白了。它是this.value不是$ this.value :) – user2170838 2013-03-14 19:58:27

0

你不」爲此需要AJAX或JQuery(儘管對Javascript更熟悉會是一個好主意)您可以使用的一個函數是

getElementById(id) 

https://developer.mozilla.org/en-US/docs/DOM/document.getElementById

基本上你會在你的JavaScript文件指定一個變量有問題的對象,然後與元素相關聯的內容可以通過這個變量進行訪問。

從上面的教程:

<!DOCTYPE html> 
<html> 
<head> 
    <title>getElementById example</title> 
    <script> 
    function changeColor(newColor) { 
    var elem = document.getElementById("para1"); 
    elem.style.color = newColor; 
    } 
    </script> 
</head> 
<body> 
    <p id="para1">Some text here</p> 
    <button onclick="changeColor('blue');">blue</button> 
    <button onclick="changeColor('red');">red</button> 
</body> 
</html> 
相關問題