使用简单形式限制复选框

时间:2012-07-01 21:23:13

标签: jquery simple-form

我使用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>

2 个答案:

答案 0 :(得分:3)

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

http://jsfiddle.net/Uan5M/

答案 1 :(得分:2)

可能会使用jQuery来解决这个问题:

$(":checkbox").click(function(){
  $length = $(":checkbox").length();
  if ( $length > 2 ) {
    $(":checkbox:checked").attr("disabled", true);
  } else {
    $(":checkbox").removeAttr("disabled");
  }
});