【问题标题】:How to get the clicked row's id value?如何获取点击的行 id 值?
【发布时间】:2013-03-06 17:22:04
【问题描述】:

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

【问题讨论】:

  • echo"&lt;tr id='&lt;php echo $pack[id];?&gt;'&gt;"; ---> echo"&lt;tr id='".$pack[$id]."'&gt;";
  • 顺便说一句,第一个 echo 语句是错误的。你不需要把 ";

标签: javascript php html-table onclick row


【解决方案1】:

试试这个纯 JavaScript 解决方案:

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

第一个parentNode 将获得&lt;td&gt;,第二个将获得&lt;tr&gt;。然后我们得到id 属性。

如果你使用 jQuery,语法会更好一些:

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

【讨论】:

    【解决方案2】:

    试试这个:

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

    【讨论】:

      【解决方案3】:

      只需将值放在 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);
      }
      

      【讨论】:

        【解决方案4】:

        这可能就是你需要的

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

        【讨论】:

          【解决方案5】:

          试试这个:

           <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>";
          ?>
          

          【讨论】:

            【解决方案6】:
             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 函数

            【讨论】:

              【解决方案7】:

              如果你不想使用 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);
              }
              

              【讨论】:

                【解决方案8】:

                可以设置为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);
                }
                

                【讨论】:

                • 通过这样给出它会给出通知错误...注意:未定义的变量:第 32 行的 F:\wamp\www\Trading\Admin\packages.php 中的 id 注意:未定义的索引:在 F :\wamp\www\Trading\Admin\packages.php 第 32 行 注意:使用未定义的常量 id - 在第 36 行的 F:\wamp\www\Trading\Admin\packages.php 中假定为“id”
                • 我认为这是我的错误。试试 .$pack['id']。 id 被 qoutemarks 包围。
                猜你喜欢
                • 2019-09-12
                • 1970-01-01
                • 1970-01-01
                • 2022-07-19
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多