繁体   English   中英

带有ajax的rails ransack复选框过滤器

[英]rails ransack checkbox filter with ajax

我在Rails应用程序中使用了ransack gem。 我已经可以在视图中使用ajax来实现搜索功能。 我想对复选框过滤器做类似的事情。 因此,基本上,当用户单击复选框时,它应立即显示结果,而无需用户单击提交按钮。 目前,过滤器复选框可以很好地与提交按钮配合使用,但是我不知道我需要使用什么jquery代码来使其与ajax一起过滤。 这是我的带搜索过滤器的index.html

<% new_roles = [] %>
<%= search_form_for @search, :class => 'filters_click' do |f| %>
  <% @jobs.each do |job| %>
  <% new_roles << job.role %>
<% end %>

  <% new_roles.uniq.each do |new| %>
    <%= check_box_tag('q[role_eq_any][]', new) %>
    <%= new %>
  <% end %>
  <%= f.submit "Search" %>
<% end %>
<div class="jobs"><%= render 'jobs' %></div>

这是我的index.js

$(".jobs").html("<%= escape_javascript(render("jobs")) %>");

我想知道要在我的js中编写哪些jquery代码,以便当用户单击复选框时可以使用Ajax提供过滤结果。

单击复选框时,您需要执行Ajax请求,如下所示:

$('input[type="checkbox"]').change(function() {
  alert ("Checkbox " + this.id + " clicked.");

  $.ajax({
    url: "your-query-url",
    data: $(".filters_click").serialize();
  });
});

但是我认为最简单的方法是在表单中添加remote: true ,然后使用jQuery提交表单:

$('input[type="checkbox"]').change(function() {
  $(".filters_click").submit();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM