js实现元素的多选,或单选功能

JavaScript034

js实现元素的多选,或单选功能,第1张

效果预览 

html中-css中 - 以ul 和 li标签双层结构为例 

js中

1,定义一个init方法, 完成处理数据 并把最后选中的数据返回

1.通过getArr方法,  挂载了li元素的点击事件liClick方法, 并返回处理好的数据arr,checkbox的话arr里面是多条选中的,radio则为单条

 通过array的特性来达到return返回的数据同步

2.根据传递过来的type类型判断是单选框还是复选框, 来调用不同的处理函数checkboxFun或radioFun

3.checkboxFun完成了复选框的一些数据处理操作  , , radioFun 完成了单选框的一些数据处理操作

2, 获取子元素集合, 并调用init函数, 

init函数调用并会返回一个newArr,   这个newArr就是最新的数据集合

这样就可以实现一个单选多选的功能了

有很多方法可以实现,不过要看你的具体需求,一般可以做成两类题目,选单选的时候显示单选的题目,多选的时候显示多选的题目;如果是想同一个题目变换单选和多选的话可以用Jquery来操作单选和多选的HTML:

首先在选项上绑定事件,然后在事件中获取当前选择的是单选还是多选,然后通过类选择器或者标签选择器来获取选项前面的选择按钮组,用循环进行遍历拿到每一个单选/多选按钮,然后用append()方法在拿到的按钮后面添加要变换的按钮,最后把拿到的按钮删掉。

思路就是这样,具体代码需要的话可以后面再贴上。