我一直在努力研究如何使用php和mysql创建一个表,这是我到目前为止所得到的......
PHP: -
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>';
}
Javascript: -
$('button#deleteBtn').click( function(){
data = $('p#ID').html();
alert(data);
// window.location('admin.php?link=LF1'+data);
});
当我点击deleteBtn我想删除按钮所在的行,因此我需要ID ... 我如何获得$ ID的值。我的jquery只提醒每个按钮的第一个ID ...
谢谢!
答案 0 :(得分:0)
您可以使用data
属性来保存您的ID。比如data-id="1"
foreach($result as $res) {
echo '<tr><td style="display:none;"><p data-id="'.$ID.'" id="ID"'.$ID.' data-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 onclick="delete("ID'.$ID.')" class="btn btn-danger btn-xs" id="deleteBtn">Delete</button></td></tr>';
}
现在你可以这样: -
$('button#deleteBtn').click( function(){
data = $(this).parents('tr').data('id');
alert(data);
});
答案 1 :(得分:0)
看起来如果你有超过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>'
<强> jQuery的:强>
$('button.delete').click( function(){
var toDelete = $(this).closest('tr').attr('id');
alert(toDelete);
});
答案 2 :(得分:0)
首先,id
应该是唯一的,因此您不能为每一行执行id="ID"
。
尝试:
foreach($result as $res){
echo '<tr data-id="' . $ID . '">';
// ...
echo '</tr>';
}
在JavaScript中:
$('button#deleteBtn').click( function(){
var id = $(this).parents('tr').data('id');
alert(id);
}