首页 > 解决方案 > JQuery 将 ID 获取到带有循环的 php 表的问题

问题描述

我有一个从表中选择后创建的表。这是我的表,包括php和html语句。

  <thead>
                    <tr>
                        <th> ID </th>
                        <th>Nombre</th>
                        <th>Email</th>
                        <th>Consulta</th>
                        <th>Carnet Estudiantil</th>
                        <th>Escuela</th>
                        <th> Eliminar </th>
                    </tr>
                </thead>
                    <tbody>
                  <?php  
                  session_start();

                        foreach ($_SESSION['rows'] as $key=> $row) {
                 ?>
                        <tr>
                           <td><?php echo $row->id; $id = $row->id ?></td>
                            <td><?php echo $row->nombre ?></td>
                            <td><?php echo $row->email ?></td>
                            <td><?php echo $row->consulta ?></td>
                            <td><?php echo $row->carnet_estudiantil ?></td>
                            <td><?php echo $row->escuela ?></td>
                            <input type="text" value="<?php echo $row->id?>" name="eliminar" id="id_eliminar" hidden>
                            <td><input type="button" class="btn btn-primary" value="Eliminar" id="eliminar"></td>             
                        </tr>
                <?php
                        }
                ?>
                  </tbody> 

它工作正常。但问题是当我尝试从 jquery(ajax) 函数中的 id_eliminar 或 eliminar 获取这些值时。

 $('#eliminar').click(function(){
               var dato=$('#eliminar').val(); 
               var dato1=$('#id_eliminar').val();
               console.log(dato);
               console.log(dato1);
                $.ajax({
                   method:"POST",
                   type: "POST",
                    url:'../Models/AlumnosClass.php',
                    data:{dato:dato,dato1:dato1},
                    beforeSend:function(){
                            Swal.fire({
                            type: 'warning',
                            title: 'Alerta',
                            text: '¿Seguro que deseas eliminar este usuario?',
                            showCancelButton: true,
                            confirmButtonText: 'Si',
                            cancelButtonText: 'No cancel!',
                            reverseButtons: true
                        })
                    },
                    success:function(response)
                    {

                    }

              }); 
            });

此代码仅将第一个 ID 带到表中,第一个寄存器,第一个用户,而不是其他寄存器。我该怎么办?

标签: javascriptphpjqueryhtml

解决方案


你可以这样做:

<td><input type="button" class="btn btn-primary eliminar" value="Eliminar" data-id="<?php echo $row->id; ?>"></td>

$(".eliminar").on('click', function() {
   var ID = $(this).data('id');

   console.log("The ID you clicked is: " + ID);
});

我在这里创建了一个快速的 JSFiddle 作为示例:http: //jsfiddle.net/1wLsfnmt/1/

例子

<table>
  <td>
    <input type="button" class="btn btn-primary eliminar" value="Click" data-id="1">
  </td>
  <td>
    <input type="button" class="btn btn-primary eliminar" value="Click" data-id="2">
  </td>
  <td>
    <input type="button" class="btn btn-primary eliminar" value="Click" data-id="3">
  </td>
</table>

$(".eliminar").on('click', function() {
   var ID = $(this).data('id');

   alert("The ID you clicked is: " + ID);
});

推荐阅读