我正在使用Codeigniter 3.1.8和Bootstrap 4中的基本博客应用程序。
该应用程序具有删除帖子功能。我不得不通过jQuery' $.ajax
方法删除帖子。
帖子视图如下所示:
<table class="table table-striped table-sm border-0">
<thead>
<tr>
<th>#</th>
<th class="w-50">Title</th>
<th>Publication date</th>
<th class="text-center">Actions</th>
</tr>
</thead>
<tbody>
<?php foreach ($posts as $index => $post): ?>
<tr id="<?php echo $post->id; ?>">
<td class="text-right"><?php $count = $index + 1; echo $count + $offset; ?></td>
<td><?php echo $post->title; ?></td>
<td><?php echo nice_date($post->created_at, 'D, M d, Y'); ?></td>
<td class="text-center">
<div class="btn-group btn-group-sm" role="group">
<a href="<?php echo base_url('posts/post/') . $post->id; ?>" class="btn btn-success"><i class="fa fa-eye"></i> View</a>
<?php if($this->session->userdata('is_logged_in') && $this->session->userdata('user_id') == $post->author_id) : ?>
<a href="<?php echo base_url('posts/edit/') . $post->id; ?>" class="btn btn-success"><i class="fa fa-pencil-square-o"></i> Edit</a>
<a href="#" id="delete_post" data-id="<?php echo $post->id ?>" class="ajax-btn btn btn-success"><i class="fa fa-trash"></i> Delete</a>
<?php else: ?>
<a href="#" class="btn btn-success disabled"><i class="fa fa-pencil-square-o"></i> Edit</a>
<a href="#" id="delete_post" class="btn btn-success disabled"><i class="fa fa-trash"></i> Delete</a>
<?php endif; ?>
</div>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
jQuery意味着通过$ .ajax减少帖子:
//Delete Posts
$('#delete_post').on('click', function(evt){
evt.preventDefault();
var deleteUrl = $(this).attr('href');
var id = $(this).data('id');
if(confirm('Delete this post?')) {
if ($(this).hasClass("ajax-btn")) {
$.ajax({
url: 'posts/delete/' + id,
method: 'GET',
dataType: 'html',
success: function(deleteMsg){
$('tr#' + id).fadeOut('250');
$('#delete_msg').html('<p>Post successfully deleted</p>');
$('#delete_msg').slideDown(250).delay(2500).slideUp(250);
}
});
} else {
window.location.href = deleteUrl;
}
}
});
上面的代码由于某种原因不起作用。我哪里错了?
答案 0 :(得分:0)
您不能在多个元素上使用相同的 FBInstant.initializeAsync()
.then(function() {
FBInstant.setLoadingProgress(50);
FBInstant.setLoadingProgress(100);
});
。相反,请将删除按钮设为类:
id
...然后使用<a href="#" id="delete_post" data-id="<?php echo $post->id ?>" class="delete-post ajax-btn btn btn-success">
代替.delete_post
:
#delete_post