rails 使用 ajax 搜查复选框过滤器
rails ransack checkbox filter with ajax
我正在 rails 应用程序中使用搜查 gem。在我看来,我已经能够使用 ajax 实现搜索功能。我想用复选框过滤器做一些类似的事情。所以基本上当用户点击复选框时,它应该立即显示结果,而无需用户点击提交按钮。目前,过滤器复选框与提交按钮一起工作正常,但我不知道我需要使用什么 jquery 代码来使其使用 ajax 进行过滤。这是我的 index.html 和 ransack 过滤器
<% 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();
});
我正在 rails 应用程序中使用搜查 gem。在我看来,我已经能够使用 ajax 实现搜索功能。我想用复选框过滤器做一些类似的事情。所以基本上当用户点击复选框时,它应该立即显示结果,而无需用户点击提交按钮。目前,过滤器复选框与提交按钮一起工作正常,但我不知道我需要使用什么 jquery 代码来使其使用 ajax 进行过滤。这是我的 index.html 和 ransack 过滤器
<% 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();
});