Ruby 在 rails - 加载更多带有 kaminari 和搜索表单的按钮。 Jquery 个问题
Ruby on rails - Load more button with kaminari and search form. Jquery problems
我有一个 ajax 搜索表单和 ajax 使用 kaminari 的分页。我想将其更改为 'load more' 按钮,但我在使用 jquery 时遇到了问题。
对于表格和正常的分页,我在我的 index.js.erb 中使用了它;
$('.gig-search-list').html("<%= j render(partial: 'gigs') %>");
这会将所有当前结果替换为搜索表单中的新结果,或者使用 kaminari gem 选择的下一页。
我想让 'load more' 按钮将结果添加到页面底部,但搜索表单的行为仍像以前一样。
在下面的示例中,'load more' 按钮可以正常工作,但搜索表单根本不起作用。
$('.gig-search-list').append("<%= j render(partial: 'gigs') %>");
然后我试着把它们分开....
$("#gig_search_form").submit(function() {
$('.gig-search-list').html("<%= j render(partial: 'gigs') %>")
$('#map').html('<%= j render("map") %>');
});
$(".pagination").click(function(){
$(".gig-search-list").append("<%= j render(partial: 'gigs') %>");
$('#map').html('<%= j render("map") %>');
});
这种作品......有点......虽然我必须点击两次,或者提交两次表格才能触发功能。分页部分没有考虑搜索参数,搜索也到处都是。
如何结合这两个功能?使用 .html 作为搜索表单并使用 .append 作为分页?
您可以在 index.js.erb 中检查条件,是否有参数 [:page]。
例如。
index.js.erb
<% if params[:page] %> #if clicked on load more, we will get params[:page]
$('.gig-search-list').append("<%= j render(partial: 'gigs') %>");
<% else %>
$('.gig-search-list').html("<%= j render(partial: 'gigs') %>");
<% end %>
当我们点击分页时,我们需要附加结果,因此我们可以很容易地在 js.erb
上检查该条件
我有一个 ajax 搜索表单和 ajax 使用 kaminari 的分页。我想将其更改为 'load more' 按钮,但我在使用 jquery 时遇到了问题。
对于表格和正常的分页,我在我的 index.js.erb 中使用了它;
$('.gig-search-list').html("<%= j render(partial: 'gigs') %>");
这会将所有当前结果替换为搜索表单中的新结果,或者使用 kaminari gem 选择的下一页。
我想让 'load more' 按钮将结果添加到页面底部,但搜索表单的行为仍像以前一样。
在下面的示例中,'load more' 按钮可以正常工作,但搜索表单根本不起作用。
$('.gig-search-list').append("<%= j render(partial: 'gigs') %>");
然后我试着把它们分开....
$("#gig_search_form").submit(function() {
$('.gig-search-list').html("<%= j render(partial: 'gigs') %>")
$('#map').html('<%= j render("map") %>');
});
$(".pagination").click(function(){
$(".gig-search-list").append("<%= j render(partial: 'gigs') %>");
$('#map').html('<%= j render("map") %>');
});
这种作品......有点......虽然我必须点击两次,或者提交两次表格才能触发功能。分页部分没有考虑搜索参数,搜索也到处都是。
如何结合这两个功能?使用 .html 作为搜索表单并使用 .append 作为分页?
您可以在 index.js.erb 中检查条件,是否有参数 [:page]。
例如。 index.js.erb
<% if params[:page] %> #if clicked on load more, we will get params[:page]
$('.gig-search-list').append("<%= j render(partial: 'gigs') %>");
<% else %>
$('.gig-search-list').html("<%= j render(partial: 'gigs') %>");
<% end %>
当我们点击分页时,我们需要附加结果,因此我们可以很容易地在 js.erb
上检查该条件