2

Simple form gem を使用して、Rails アプリでフォームをセットアップしています。チェックボックスのリスト (約 20 個のオプション) があり、ユーザーが選択できるのは 3 つだけに制限したいのですが、どうすればこれを達成できますか?

意見:

<%= f.association :interests, :as => :check_boxes, :label => false %>

レンダリングされた HTML の最初の部分

<div class="control-group check_boxes optional">
  <div class="controls">
    <label class="checkbox">
        <input class="check_boxes optional" id="user_interest_ids_1" name="user[interest_ids][] "      
         type="checkbox" value="1" />Adventure Sports</label>
   <label class="checkbox">
       <input class="check_boxes optional" id="user_interest_ids_2" name="user[interest_ids][]"  
       type="checkbox" value="2" />Arts and Crafts</label>
4

2 に答える 2

3
$('input[type=checkbox]').change(function(e){
   if ($('input[type=checkbox]:checked').length > 3) {
        $(this).prop('checked', false)
   }
})

http://jsfiddle.net/Uan5M/

于 2012-07-01T21:30:29.037 に答える
2

おそらくこれに対処するためにjQueryを使用するでしょう:

$(":checkbox").click(function(){
  $length = $(":checkbox").length();
  if ( $length > 2 ) {
    $(":checkbox:checked").attr("disabled", true);
  } else {
    $(":checkbox").removeAttr("disabled");
  }
});
于 2012-07-01T21:30:03.520 に答える