Я просмотрел этот , который, похоже, не влияет на мой код. Я пробовал этот , который, кажется, влияет только на первый флажок, но не снимает флажок, когда я нажимаю его снова ... Я также видел несколько других способов сделать это, в которых я не уверен, что они полностью соответствуют Rails (или как там термин должен быть).
Не мог бы кто-нибудь указать мне правильное направление?
Вот мое мнение:
<%= render 'admin/distributions/head' %>
<% title 'Workflow' %>
<%= form_for @search, :url => url_for(:controller => params[:controller], :action => params[:action]), :html => {id => "distribution_workflow",:method => :get} do |f| %>
<%= f.label :created_at_gt, "Created at >" %>
<%= f.text_field :created_at_gt, :class => "js-db-date-picker" %>
<%= f.label :created_at_lte, "Created at <=" %>
<%= f.text_field :created_at_lte, :class => "js-db-date-picker" %>
<%= f.label :status_equal, "Status" %>
<%= f.select :status_equal, %w(delivered no_success already_registered qa_complete success follow_up), :include_blank => " " %>
<%= submit_tag 'Apply Filter', :class => "input-button dark unit-right mrl" %>
<% end %>
<%= form_tag edit_multiple_admin_distributions_workflows_path , :id => "workflow_form" do %>
<%= submit_tag "Edit Selected" %>
ID
Customer
Resume URL
Partner
Status
Assigned To
Comments
<% @report.each do |distribution| %>
<%= check_box_tag "distribution_ids[]", distribution.id %>
<%= distribution.owner.id %>
<%=link_to distribution.owner.full_name, "mailto:#{distribution.owner.email}" %>
>Resume URL
<%=link_to distribution.matching_profile.partner.title, "mailto:#{distribution.matching_profile.partner.email}" %>
<%= distribution.status %>
<%= distribution.assignee_id ? User.find(distribution.assignee_id).full_name : " " %>
<%= distribution.comments %>
<% end %>
<% end %>
В случае, если Вы хотите выбрать - все для нескольких отдельных списков на той же странице
$("input[data-select-all]").on("click", function() {
let $checkboxes = $("input[data-"+$(this).data("select-all")+"]");
if (this.checked) {
$checkboxes.each(function() {
this.checked = true;
});
} else {
$checkboxes.each(function() {
this.checked = false;
});
}
});
<table>
<thead>
<tr>
<th><input type="checkbox" name="selected" id="select-all" value="1" title="Select all" data-select-all="select-all-target"></th>
<th>Asset</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="form-check"><input type="checkbox" name="selected" id="asset_type_11" value="1" data-select-all-target="true"></span></td>
<td>The name</td>
<td>The description</td>
</tr>
</tbody>
</table>