评论删除不起作用

时间:2013-11-16 07:48:11

标签: jquery ajax forum

我正在尝试使用Jquery AJAX和PHP(codeigniter)与Datamapper删除论坛评论 但出于某种原因,无论我做什么,当我点击删除时都没有任何反应。

如果有人能看到问题那么好。

Jquery =

$('button.delete').on('click', function(event) {

    console.log('derp');
    // var comment = $(this).parent('.comment').attr('id');

    // $.post('actions/delete_comment/'+comment);

});

论坛帖子php =

<li class="comment" id="<?=$comment->id ?>">
    <img  src="assets/img/avatars/<?=$comment->user.'.jpg' ?>">
    <p class="username"><?=$comment->user ?></p><p class="commenttime"><?=$comment->date ?></p><br>
    <p><?=$comment->contents ?></p>
    <button class="delete">Delete</button>
</li>

删除php =

public function delete_comment($id){
    $comments = new Forum_comment;
    $comments->get_where(array('id' => $id));
    $comments->delete();
}

4 个答案:

答案 0 :(得分:0)

您注释掉了jQuery事件中的所有实际代码,但console.log()

除外
$('button.delete').on('click', function(event) {

    console.log('derp');
    var comment = $(this).parent('.comment').attr('id');  // Remove leading slashes

    $.post('actions/delete_comment/'+comment);  // Remove leading slashes

});

当然没有任何事情发生!

答案 1 :(得分:0)

在调用jQuery时,您需要确保使用$('button.delete)选择的元素实际存在。将您的Javascript移动到<body>的底部,或者将javascript包装在domReady函数中:

$(document).ready(function(){

$(button.ready)...// do your initialisation here.

});

答案 2 :(得分:0)

除了已经注释掉了您希望它执行的实际代码之外,您还没有使用类“comment”为li标记定义id属性。

因此,在这种情况下var comment = $(this).parent('.comment').attr('id');将不返回任何内容。

li标签必须为<li class="comment" id=(insert_comment_id_here)>

答案 3 :(得分:0)

在你的jquery中尝试这个

$(document).on('click', 'button.delete', function(event) {

    console.log('derp');
    // var comment = $(this).parent('.comment').attr('id');

    // $.post('actions/delete_comment/'+comment);

});
当它开始进入事件处理程序时,

和ofcourse取消注释代码..