这是我的代码的一部分,我正在使用ajax帖子并删除数据,一切正常,除了数据没有从我的数据库中删除。我究竟做错了什么? 我们走了:
档案view.php
<table class='uk-table uk-table-striped'><tbody>
<thead>
<tr>
<th>Ano</th>
<th>Grau</th>
<th>Serie</th>
<th>Curso</th>
<th>Instituição</th>
<th>Cidade</th>
<th>Estado</th>
<th>Excluir?</th>
</tr>
</thead>
<script type="text/javascript">
$(document).ready(function() {
$('#load').hide();
});
$(function() {
$(".delete").click(function() {
if (confirm("Tem certeza?"))
{
var row = $(this).parents('tr:first');
var id = $(this).attr("id");
var data = 'id=' + id ;
$.ajax({
type: "post",
url: "delete.php",
data: data,
cache: false,
success: function(){
row.slideUp('slow', function() {$(row).remove();});
}
});
}
return false;
});
});
echo "<tr id='".$historico['id']."'>";
echo "<td>".$historico['ano']."</td>";
echo "<td>".$grau['grau']."</td>";
echo "<td>".$serie['serie']."</td>";
echo "<td>".$curso['curso']."</td>";
echo "<td><a href='index.php?option=com_community&view=groups&task=viewgroup&groupid=".$grupo['id']."'>".$grupo['name']."</a></td>";
echo "<td>".$cidade['nome']."</td>";
echo "<td>".$estado['sigla']."</td>";
echo "<td><button class='delete uk-button uk-button-danger'>Delete</button></td>";
echo "</tr>";</tbody></table>
文件delete.php
<?php
include 'con.php';
$id= $_POST["id"];
$query=mysql_query("DELETE FROM historico WHERE id = '$id'")or die(mysql_error());
?>
答案 0 :(得分:2)
var id = $(this).attr("id");
这是试图读取被点击的按钮的ID。你需要tr:
的idvar id = row.attr("id");
您也不需要:first
,只需要包含该按钮的tr
:
var row = $(this).parents('tr');
parent('tr')
应该有效,而不是parents
。 (父母可能会工作但不必要。)
答案 1 :(得分:0)
使事情更简单,在每个删除按钮中打印id。
echo "<td><button class='delete uk-button uk-button-danger' id='".$historico['id']."'>Delete</button></td>";
然后按原样使用您的代码。
正如Andy G所说你必须删除或修改tr的id属性值