2017-07-10 15 views
0

私はsimple_form_forを使ってモデルの代わりにシンボルをフォームに渡しているので、カスタムパラメータをコントローラに送り返すことができます。 デフォルトでは、すべてのチェックボックスをデフォルトに設定しました。collection_check_boxesですべてをチェック/チェックを外す

私が知ることができないのは、すべて選択/非選択のチェックボックスを追加する方法です。私はそこにいくつかのJSが必要だと思っていますが、値を変更しなければならない属性はわかりません。

要素をチェック/チェック解除するときに属性が変更されたかどうかを確認しましたが、input要素の属性は変更されません。しかし、項目をチェックしたり、チェックを外したりすると、<form>要素が輝きます。それが私が来る手がかりにどれほど近いかです。

= simple_form_for :mass_unassignment, url: admin_merchant_holiday_path(@merchant), method: :post do |f| 
    - if @jobs.present? 
     %h3 Cleaning 
     %table 
     %thead 
      %tr 
      %td= check_box_tag :mass_select 
      %td Id 
      %td Date 
      %td Customer 
     %tbody 
      = f.collection_check_boxes :jobs, @jobs, :id, :start_at, checked: @jobs.map(&:id) do |el| 
      - job = el.object 
      %tr 
       %td= el.check_box checked_value: 1 
       %td= link_to el.object.id, admin_job_path(job) 
       %td= job.start_at.strftime('%e %b %y – %I:%M%P') 
       %td= link_to job.customer.full_name, admin_customers_path(job.customer) 

HTLM generated

Browser view

+0

はこの記事を参照してください。 https://stackoverflow.com/questions/386281/how-to-implement-select-all-check-box-in-html – jdgray

答えて

1

これは、RoRの質問よりもJavascriptの質問のよりのようです。あなたがこれを使用することができます@jdgrayでコメントで与えられたリンクから、 :

function toggle(source) { 
    checkboxes = document.getElementsByName('foo'); 
    for(var i=0, n=checkboxes.length;i<n;i++) { 
    checkboxes[i].checked = source.checked; 
    } 
} 

それとも、あなたはjQueryのを使用している場合、あなたはこのような何かを行うことができます。

​​3210
+0

よく動作します。ありがとう – vinibol12

関連する問題