为 checkbox 添加事件,使选中和非选中时改变其他几个checkbox的可选状态
2015-05-27 12:55
393 查看
完成效果图:
![](https://img-blog.csdn.net/20150527125619691?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGpoXzA4Mjgx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
当选中“会议介绍”选中时,“会议简介” 和“会议议程” 才可选, “合作”及其后面的菜单同理。
js代码:
因为有的浏览器不支持getElementsByClassName方法,在网上找的解决方法:
colOneList 是后台传来的存有实体的List
完成想法是,用实体id来标示checkbox 的class,当所有class相同的checkbox中的第一个元素点击时,判断是选中还是非选中,依此更改class相同的第二个checkbox及之后的可选状态。
当选中“会议介绍”选中时,“会议简介” 和“会议议程” 才可选, “合作”及其后面的菜单同理。
js代码:
$('input').click(function(){ var className=$(this).attr('class'); var cols=getClass('input',className); if(!cols[0].checked){ for(var i=1;i<cols.length;i++){ cols[i].checked=false; cols[i].disabled="disabled"; } }else if(cols[0].checked){ for(var i=1;i<cols.length;i++){ cols[i].disabled=""; } } });
因为有的浏览器不支持getElementsByClassName方法,在网上找的解决方法:
function getClass(tagname, className) { //tagname指元素,className指class的值 //判断浏览器是否支持getElementsByClassName,如果支持就直接的用 if (document.getElementsByClassName) { return document.getElementsByClassName(className); } else { //当浏览器不支持getElementsByClassName的时候用下面的方法 var tagname = document.getElementsByTagName(tagname); //获取指定元素 var tagnameAll = []; //这个数组用于存储所有符合条件的元素 for (var i = 0; i < tagname.length; i++) { //遍历获得的元素 if (tagname[i].className == className) { //如果获得的元素中的class的值等于指定的类名,就赋值给tagnameAll tagnameAll[tagnameAll.length] = tagname[i]; } } return tagnameAll; } }
colOneList 是后台传来的存有实体的List
<c:forEach items="${colOneList}" var="one"> <tr><th><input type="checkbox" id="checkcol" name="ones" class="${one.id}" value="${one.id}"/>${one.columnName}</th> <td><c:forEach items="${one.twocolumns}" var="two"> <input type="checkbox" name="twos" class="${one.id}" value="${two.id}"/>${two.columnName} </c:forEach> </td> </tr> </c:forEach>
完成想法是,用实体id来标示checkbox 的class,当所有class相同的checkbox中的第一个元素点击时,判断是选中还是非选中,依此更改class相同的第二个checkbox及之后的可选状态。
相关文章推荐
- zTree之checkbox选中事件---获取状态改变的结点
- jquery checkbox选中、改变状态、change和click事件
- 点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件, jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态
- GridView中添加一个CheckBox列,翻页后保存选中状态
- jquery checkbox 复选框 选中 改变状态 change和click事件
- 微信小程序-Checkbox选中状态改变后,修改绑定数组的选中状态值
- 改变checkbox默认选中状态及取值的实现代码
- jquery判断checkbox是否选中及改变checkbox状态
- jquery判断checkbox是否选中及改变checkbox状态
- jquery判断checkbox是否选中及改变checkbox状态
- Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
- 复选框checkbox 判断是否选中及添加移除选中状态
- jquery判断checkbox是否选中及改变checkbox状态
- Angular4_Checkbox多选框选中事件,与其他组件交互
- jquery判断checkbox是否选中及改变checkbox状态
- jquery判断checkbox是否选中及改变checkbox状态
- jquery判断checkbox是否选中及改变checkbox状态
- jquery判断checkbox是否选中及改变checkbox状态
- jquery判断checkbox是否选中及改变checkbox状态
- jquery判断checkbox是否选中及改变checkbox状态