0

我通过从数据库中获取值来生成一个表。我将主键值设置为行的 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)
   }
4

8 回答 8

3

试试这个纯 JavaScript 解决方案:

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

第一个parentNode会得到<td>,第二个会得到<tr>。然后我们得到id属性。

或者,如果您使用 jQuery,语法会更好一些:

function edit_pack() {
    alert($(this).closest('tr')[0].id;
}
于 2013-03-18T11:29:59.787 回答
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>";
?>
于 2013-03-18T11:38:09.693 回答
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);
}
于 2013-03-18T11:37:24.933 回答
0

尝试这个:

  var trid = $(this).closest('tr').attr('id');
于 2013-03-18T11:30:19.690 回答
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);
}
于 2013-03-18T11:31:18.037 回答
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);
}
于 2013-03-18T11:32:38.697 回答
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>';
 }
于 2013-03-18T11:33:13.697 回答
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 函数

于 2013-03-18T11:46:58.490 回答