Ajax追加问题
Issue with Ajax Appending
我有一个分页的评论模型,我希望每当单击下一个按钮时,评论都能在同一页面上加载更多评论。我对如何着手做这件事有点想法,但有人能建议我如何着手做吗。我已经有一些代码了。
对于评论部分,而不是渲染,我认为它可能必须寻找微帖子及其id,才能找到合适的评论来添加,但我不确定如何将这些联系在一起。
分页JS
$(function() {
$("#CommentPagin a").live("click", function() {
$.getScript(this.href);
return false;
});
});
显示JS
$("#cc").append('<%= escape_javascript(render :partial => "users/comments" )%>');
评论部分
<div id='comments'>
<% comments = micropost.comments.paginate(:per_page => 5, :page => params[:page]) %>
<div id="CommentPagin">
<span class="CommentArrowIcon"></span>
<%= will_paginate comments, :page_links => false , :class =>"pagination" %>
</div>
<%= render 'users/comments' %>
</div>
注释渲染部分
<div id="cc">
<% comments = micropost.comments.paginate(:per_page => 5, :page => params[:page]) %>
<%= render comments %>
</div>
用户控制器
def show
@user = User.find(params[:id])
@school = School.find(params[:id])
@comment = Comment.find(params[:id])
@micropost = Micropost.new
@comment = Comment.new
@comment = @micropost.comments.build(params[:comment])
@microposts = @user.microposts.order('created_at DESC').paginate(:per_page => 10, :page => params[:page])
respond_to do |format|
format.html
format.js
end
end
我对铁轨有点生疏,所以这是一个有点通用的答案。
我将从一个路由/操作加载下n个注释,该路由/操作将您的注释渲染部分渲染为HTML
只需将其视为您从自己的API请求资产并使用它们来更新页面。
分页JS
/**
* jQuery 1.7+
* use .delegate() for older versions.
**/
$("#CommentPagin").on('click', 'a', function(e){
// Get data from server - make sure url has params for per_page and page.
$.get($(this).attr('href'), function(data){
// refresh client with data
$("#cc").append(data);
});
});
相关文章:
- 第二次追加后添加逗号的问题等等
- 追加新web组件时出现线程问题
- 问题在于克隆、拼接、删除、追加 jquery 函数
- IE8 追加到 XML 问题:类型不匹配
- 在文件读取器中追加的订单问题
- JQuery 可拖动和可放置的追加问题
- Ajax追加问题
- 在动态加载的表中仅追加新数组项时出现问题
- 关于追加的问题
- 重复追加问题
- jQuery追加的问题
- 面对的问题,而追加下拉对象与字符串在Jquery
- 在向formData对象追加新值时遇到问题
- jQuery HTML追加导致UTF-8国家语言字符问题
- jQuery表追加问题
- 追加json_encode的问题
- $.each中追加的问题
- 使用$()追加元素的问题
- ajax请求成功后在jqtree中追加子节点的问题
- 我在jquery/javascript中的动态追加td有什么问题