2016-08-11 3 views
2

入力にcollection_check_boxesを使用するフォームがあります。Rails、collection_check_boxes、maximum picked

= f.collection_check_boxes :color_ids, group.colors, :id, :name 

フォーム内の複数のボックスをチェックできないようにしたいと考えています。

私はモデルでそれを行う方法を知っています、私はちょうどビューの部分が必要です。ありがとう!

答えて

0

最後に、jqueryを使用することにしました。ビューで は、私はこのようなクラスの最後で最大量を置く:

= f.collection_check_boxes :color_ids, group.colors, :id, :name, item_wrapper_class: "bla bla2 #{group.maximum.to_s}" 

2入力[タイプ=チェックボックス]私はマークされているどのように多くの他の人を見つけるクリックする

$(this).parent().parent().siblings().children().children(':checked').length 

3私は最大aを比較し、次の行により、ステップ1からの最大許容値

max = parseInt($(this).parent().parent().attr('class').split(' ').pop()); 

4を見つけます。チェックされていて、最初のものが少ないかどうかをチェックしないようにする。コード全体は次のようになります

$('input[type=checkbox]').on('change', function(evt) { 
    var max; 
    max = parseInt($(this).parent().parent().attr('class').split(' ').pop()); 
    if ($(this).parent().parent().siblings().children().children(':checked').length + 1 > max) { 
     this.checked = false; 
    } 
    }); 
関連する問題