首先,先来实现复选框的全选功能,我们做如下界面
实列代码:
全选的功能,让最上边的复选框点上,下边子选框全部被选中,当然点击触发的是onclick时间 那么就写如下代码来判断,让下边的子选框被选中:
当点击最上边的那个fathercheckbox时 ,会触发function时间,在这个函数中利用for循环让所有的 son checkbox等于 复选框的box ,这样就可以让所有子选框被选中。
接下来要实现点击反选的功能:
当前页面状态为:
3和4号子选框被选中,当我们点击反选按钮的时候这两个子选框会取消选中,其他的子选框会被选中,那么这也是触发 反选这个按钮的onclick事件, 首先在反选这个按钮上加上 id="btn"这个属性 ,然后可以写如下代码:
道理其实很简单,就是当点击反选按钮式,让所有的子选框 的状态变为和原来相反的就可以了。
这样点击反选时就能实现反选的效果了。
接下来再实现两个效果,就是全选中的状态时,子选框去掉一个 父选框也被取消(既不是全选状态,父选框就取消选中) ,当为全选状态时 父选框自动选上。
首先我们要在每一个子选框上加上一个函数 check()
然后 在js代码中加上 check()函数,在check函数中加入如下代码:
判断下是否有子选框未被选中,或者是子选框全部选中,然后对父选框做出处理。就可以达到预期的效果。