这几天在做一个用户管理,一个用户可以属于多种角色,因此在用户信息编辑页面上,可以进行角色的多选。因此,我选择了checkbox控件。
首先,这些checkbox有一个共同特性,就是name名称一样或大部分一样(只是索引不一样),如:
<label>用户角色:</label>
<input type="checkbox" value="1" name="roleIds[0]">
<label>开发管理员</label>
<input type="checkbox" value="2" name="roleIds[1]">
<label>测试管理员</label>
后端接收是通过一个List来接收该参数的,即:List<Long> roleIds。
因为这边的需求是,用户不能不分配角色,因此我得判断是否有角色被选中。
checkbox控件选中了,属性checked的值会变成checked,因此获取选中的复选框方法如下:
$("input[name^='roleIds']:checked");
checkbox相关处理:
默认选中:$("#mycheckbox").attr("checked", true);
监听同样事务的多个复选框是否被选中:
$(":checkbox[name=test]").each(function (index, domEle) {
$(domEle).click(function() {
if(domEle.checked == true) {
console.info($(domEle).val());
}
});
});