我试图通过单击按钮来删除行,但是它仅适用于未追加的行,因此,例如在刷新页面或直接访问该页面时,我可以删除已插入的行在数据库中,但不再附加它们,但是如果我单击添加行,它将附加它,但是它不可用。我的意思是,如果要删除前面的行,则必须刷新页面,而不是不刷新就删除它。同样,编辑按钮也是如此。
PHP / HTML
while($row = mysqli_fetch_assoc($sql)){
echo '
<tr>
<td class="row-id">'.$row['id'].'</td>
<td>'.$row['name'].'</td>
<td>'.$row['created_at'].'</td>
<td>'.$row['last_modified'].'</td>
<td><button type="button" class="btn btn-danger delete">Delete</button></td>
<td><button type="button" class="btn btn-primary edit">Edit</button></td>
</tr>
';
}
jQuery / Ajax / Delete
$('.delete').on('click', function()
{
var delId = $(this).closest('tr').find('.row-id').html();
var thisDel = $(this);
$.ajax({
method: "POST",
ContentType: 'text/html',
url: 'database/db.php',
dataType: 'html',
data: {
'del-sale-id': delId,
},
success: function (data) {
$(thisDel).parent().parent().remove();
}
});
});
jQuery / Ajax / Add
$('#save-new').on('click',function () {
var saleName = $('.form-control').val();
var date = new Date();
var currentTime = (date.getFullYear() +'-'+ date.getMonth() + 1 + '-' + date.getDate() + '' + ' ' +date.getHours() +':'+ date.getMinutes() +':'+ date.getSeconds() );
$.ajax({
method: "POST",
ContentType: 'text/html',
url: 'database/db.php',
dataType: 'html',
data: {
'sale-name': saleName,
},
success: function (data) {
if(data != 'Row exists') {
$('#example').append("<tr> <td class='row-id'>" + data + "</td> <td>" + saleName + "</td> <td>" + currentTime + "</td> <td>0000-00-00 00:00:00</td> <td><button type=\"button\" class=\"btn btn-danger\">Delete</button></td> <td><button type=\"button\" class=\"btn btn-primary\">Edit</button></td></tr> ");
;
}
else if(data == 'Row exists'){
alert(data);
}
}
});
});