如何使用php和javascript从循环表中获取ID值

如何使用php和javascript从循环表中获取ID值,php,jquery,Php,Jquery,我一直在研究如何使用php和mysql创建一个表,这就是我到目前为止得到的 菲律宾: foreach($result as $res){ echo '<tr><td style="display:none;"><p id="ID">' . $ID . ' </p></td><td>' . $res['NAME'] . '</td> <td>' . $res['optio

我一直在研究如何使用php和mysql创建一个表,这就是我到目前为止得到的

菲律宾:

foreach($result as $res){
        echo '<tr><td style="display:none;"><p id="ID">' . $ID . ' </p></td><td>' . $res['NAME'] . '</td>
        <td>' . $res['option2'] . '</td>
        <td>' . $res['Option3'] . '</td>
        <td>' . $res['Option4'] . '</td>
        <td>' . $res['Option5'] . '</td>
        <td class="deleteBtn"><button class="btn btn-danger btn-xs" id="deleteBtn">Delete</button></td></tr>';
    }
当我单击deleteBtn时,我想删除该行,该按钮处于打开状态,因此我需要ID。。。 如何获取$ID的值。我的jquery只会提醒每个按钮的第一个ID


谢谢

您可以使用
data
属性保留您的id。如
data id=“1”


看起来,如果您有多行,您将不可避免地得到许多具有相同ID的元素。清理版本将是:

更简单的是,您可以简单地使用
.closest()

PHP:

echo '<tr id='.$ID.'><td style="display:none;"><p id="ID">' . $ID . ' </p></td><td>' . $res['NAME'] . '</td>
        <td>' . $res['option2'] . '</td>
        <td>' . $res['Option3'] . '</td>
        <td>' . $res['Option4'] . '</td>
        <td>' . $res['Option5'] . '</td>
        <td class="deleteBtn"><button class="delete btn btn-danger btn-xs">Delete</button></td></tr>'
$('button.delete').click( function(){
    var toDelete = $(this).closest('tr').attr('id');
    alert(toDelete);
});

首先,
id
应该是唯一的,所以不能对每一行执行
id=“id”

尝试:

foreach($result as $res){
  echo '<tr data-id="' . $ID . '">';
    // ...
  echo '</tr>';
}

不能在循环中使用

id
属性在整个DOM中必须是唯一的,但是您将得到一堆具有相同id的
标记。您必须在
id
属性中附加另一个值,或者使用一个类。我尝试了所有这些方法,但这是最容易理解的方法!!感谢忍者的回应!!
echo '<tr id='.$ID.'><td style="display:none;"><p id="ID">' . $ID . ' </p></td><td>' . $res['NAME'] . '</td>
        <td>' . $res['option2'] . '</td>
        <td>' . $res['Option3'] . '</td>
        <td>' . $res['Option4'] . '</td>
        <td>' . $res['Option5'] . '</td>
        <td class="deleteBtn"><button class="delete btn btn-danger btn-xs">Delete</button></td></tr>'
$('button.delete').click( function(){
    var toDelete = $(this).closest('tr').attr('id');
    alert(toDelete);
});
foreach($result as $res){
  echo '<tr data-id="' . $ID . '">';
    // ...
  echo '</tr>';
}
$('button#deleteBtn').click( function(){
  var id = $(this).parents('tr').data('id');
  alert(id);
}