simple_form_for 中collection_check_boxes 的使用

collection_check_boxes 的使用

1
2
3
4
5
<%= f.collection_check_boxes :tag_list, Tag.all, :name,:name
, :item_wrapper_class => 'checkbox',required: true
, input_html: { class: "tagsinput"} %>
<!-- :item_wrapper_class => 'checkbox' 可以实现checkbox纵排显示 -->

其中

:name``` 第一个在simple_form_for的github文档中是:id,因为我这里value和show value都是name,所以,这里就写成这样子了。
1
2
3
4
5
6
7
8
9
10
11
12
我这里是jquery判断是否选择过一项,如果选择了一项,就跳出循环,否则继续判断,如果一项都没选择,提示用户进行选择。
```js
var question_tag_list = $("input[type='checkbox']");
var checkedSize = 0;
question_tag_list.each(function(){
if ($(this).prop("checked")) {
checkedSize += 1;
return false; //只要勾选了一个,便符合必填,跳出循环,可提升效率
}
});

遇到的大坑就是,我用 $(this).checked不能返回true或者false,但是googel很多都是说这样可以。后来问了朋友,用 $("#id").prop("checked")成功了,具体参考 http://api.jquery.com/prop/