2013-03-18 131 views
0

我通過從數據庫獲取值生成了一個表。 我將主鍵值設置爲該行的id值,我也有該行中的按鈕。 如何在單擊按鈕時獲取相應的ID值。如何獲取點擊行的id值?

while($pack = mysql_fetch_array($get_pack)) 
    { 
     echo"<tr id='<php echo $pack[id];?>'>"; 
     echo'<td> <input name="edit_pack" type="button" value="Edit" onclick="javascript:edit_pack()"/></td>'; 
    } 

function edit_pack() 
    { 
    alert("package editing") 
    alert(this.id) 
    } 
+0

'echo「」;'--->'echo「」 ;' – Naryl 2013-03-18 11:32:19

+1

順便說一下第一個echo語句是錯誤的。你不需要把<?php標籤放在那裏。 echo「」; – Husman 2013-03-18 11:32:21

回答

3

嘗試此純JavaScript解決方案:

function edit_pack() { 
    alert(this.parentNode.parentNode.id); 
} 

第一parentNode將得到<td>,第二個將獲得<tr>。然後我們得到id屬性。

或者語法是一個更好一點,如果你正在使用jQuery:

function edit_pack() { 
    alert($(this).closest('tr')[0].id; 
} 
0

試試這個:

var trid = $(this).closest('tr').attr('id'); 
0

您可以將其設置爲js函數的參數。

echo'<td> <input name="edit_pack" type="button" value="Edit" onclick="javascript:edit_pack(' .$pack['id']. ')"/></td>'; 

然後在js

function edit_pack(id){ 
    alert(id); 
} 
+0

通過給出它,它會給出通知錯誤...注意:未定義的變量:在F:\ wamp \ www \ Trading \ Admin \ packages.php中的id在線32 注意:未定義的索引:在F:\ wamp \ www \ Trading \ Admin \ packages.php 32行 注意:在第36行的F:\ wamp \ www \ Trading \ Admin \ packages.php中使用了未定義的常量id - 假定'id' – AndRaGhu 2013-03-18 11:59:36

+0

我認爲這是一個錯誤我這邊。試試。$ pack ['id']。與qoutemarks包圍的id。 – Husman 2013-03-18 12:29:16

0

只要把值在JS調用

PHP

while($pack = mysql_fetch_array($get_pack)) 
{ 
    echo '<tr id="'.$pack[id].'">'; 
    echo '<td> <input name="edit_pack" type="button" value="Edit" onclick="javascript:edit_pack('.$pack[id].')"/></td>'; 
} 

的Javascript

function edit_pack(id) { 
    alert(id); 
} 
0

也許這就是你需要

while($pack = mysql_fetch_array($get_pack)) 
{ 
    echo"<tr id='<php echo $pack[id];?>'>"; 
    echo'<td> <input parentrow_id='<php echo $pack[id];?>' name="edit_pack" type="button" value="Edit" onclick="javascript:edit_pack(this.parentrow_id)"/></td>'; 
} 
0

如果你不想jQuery的使用,然後執行以下操作:

while($pack = mysql_fetch_array($get_pack)) 
{ 
    echo"<tr id='<php echo $pack[id];?>'>"; 
    echo'<td> <input name="edit_pack" type="button" value="Edit" onclick="javascript:edit_pack('<?php echo $pack[id];?>')"/></td>'; 
} 

function edit_pack(pack_id) 
{ 
    alert("package editing"); 
    alert(pack_id); 
} 
0

試試這個:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     $("[name=edit_pack]").click(function(){ 
      alert($(this).parents("tr").attr('id')); 
     }); 
    }); 
</script> 
<?php 
     echo"<table name='test'>"; 
     echo"<tr id='20'>"; 
     echo'<td> <input name="edit_pack" type="button" value="Edit" onclick="javascript:edit_pack()"/></td>'; 
     echo"</tr>"; 
     echo"</table>"; 
?> 
0
while($pack = mysql_fetch_array($get_pack)){ 
     echo"<tr id='$pack[id]'>"; 
     echo " <td> <input name='edit_pack' type='button' value='Edit' onclick='edit_pick($pack[id]);'/></td>"; 
     echo "</tr>"; 
    } 

你可以傳遞參數JavaScript函數