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);
}

1つ目parentNodeはを取得し<td>、2つ目はを取得し<tr>ます。次に、id属性を取得します。

または、jQueryを使用している場合は、構文が少し良くなります。

function edit_pack() {
    alert($(this).closest('tr')[0].id;
}
于 2013-03-18T11:29:59.787 に答える
0

これを試して:

  var trid = $(this).closest('tr').attr('id');
于 2013-03-18T11:30:19.690 に答える
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

これを試して :

 <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
 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 に答える
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 に答える