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 回答