dongxun1142 2014-04-15 21:45
浏览 36
已采纳

在列表顶部显示最后一条评论

I have script that add comment to DB with AJAX and than print it on the screen, at the end of the previous comments

How can I change it so the new comment (the one that user just add) will appear at the top of the comments?

$(function() {
    $(".addComment").click(function(){

        var element = $(this);
        var refID = element.attr("id");
        var userID = element.attr("userID");
        var main = $("#main:checked").val();
        var contentText = $("#contentText").val();
        var act = 'add';
        var info = 'refID=' + refID + '&userID=' + userID + '&main=' + main + '&contentText=' + contentText + '&act=' + act;
    //  alert(info);

        $("#loading").html('<img src="loader.gif" align="absmiddle">&nbsp;loading...');

         $.ajax({
            type: "POST",
            url: "ajax/comments.php",
            data: info,
            success: function(response){
            $("#loading").ajaxComplete(function()
            {
            }).slideUp();
             document.getElementById("contentText").value="";
             $("#comments").append(response);
        //  $('.formComment'+ownerID).fadeOut(200).hide();
        //  $('.formComment'+ownerID).fadeIn(200).show();
           }
         });

        return false;
    });
});


        <ul id="comments">
            <?PHP
                $query = mysql_query("SELECT * FROM `comments` WHERE (userID = '$_SESSION[userID]') ORDER BY date DESC"); 
                while($index = mysql_fetch_array($query))
                {
                  echo '<li id="comment_'.$index["id"].'">';
                      echo '<a href="#" class="del_button" id="del-'.$index["id"].'">';
                        echo '<img src="images/icon_del.gif" border="0" />';
                      echo '</a>';
                  echo $index["text"].'</li>';
                }                   
            ?>
        </ul>

PHP page:

if(mysql_query("INSERT INTO comments (userID, pageName, refID, text, main, date) VALUES ('$_POST[userID]', 'yard', '$_POST[refID]', '$contentToSave', '$_POST[main]', '$dateLX') ") )
{
     //Record was successfully inserted, respond result back to index page
      $commentID = mysql_insert_id(); //Get ID of last inserted row from MySQL
      echo '<li id="comment_'.$commentID.'">';
        echo '<a href="#" class="del_button" id="del-'.$commentID.'">';
            echo '<img src="../images/deleteS.png" border="0" />';
        echo '</a>';
      echo $contentToSave.'</li>';
    //  mysql_close($connecDB); //close db connection

}
  • 写回答

1条回答 默认 最新

  • doushangxianq07480 2014-04-15 21:50
    关注

    Change this line:

     $("#comments").append(response);
    

    To:

     $("#comments").prepend(response);
    

    http://jsfiddle.net/CXNF5/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗