Флажки «Выбрать все» / «Отменить выбор всех» на странице

Я просмотрел этот , который, похоже, не влияет на мой код. Я пробовал этот , который, кажется, влияет только на первый флажок, но не снимает флажок, когда я нажимаю его снова ... Я также видел несколько других способов сделать это, в которых я не уверен, что они полностью соответствуют 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" %> <% @report.each do |distribution| %> <% end %>
ID Customer Resume URL Partner Status Assigned To Comments
<%= 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 %>

9
задан Community 23 May 2017 в 12:18
поделиться

1 ответ

В случае, если Вы хотите выбрать - все для нескольких отдельных списков на той же странице

$("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>
0
ответ дан 4 December 2019 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: