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就是最新的数据集合
这样就可以实现一个单选多选的功能了
这个功能很简单,像楼上说的,如果你有编程基础。<form>
<input type="button" value="哈哈"><input type="button" value="呵呵"><input type="button" value="嘻嘻">
... ... ...
<a href="javascript:void(0)">提交</a>
</form>
$(function(){
$("input").click(function(){$(this).attr("checked","checked").css({"做你要的样式"})})
$("a").click(function(){
//写你的判断
$("form").submit()
})
})
<HTML><HEAD>
<script type="text/javascript" src="./jquery-1.11.1.js"></script>
<script type="text/javascript">
$(function(){
var checkbox = $("#test :checkbox")
$("#test :checkbox").click(function(){
var opchek = $(this)
var level = parseInt(opchek.attr("level"))
$.each(checkbox, function(){
var _this = $(this)
if(parseInt(_this.attr("level"))< level){
if(opchek.prop("checked")){
_this.prop("checked",true)//这个方法好像是1.8+的jquery才有的
_this.attr("disabled",true)
}else{
var prevLevel = level - 1
$("#test :checkbox[level='"+prevLevel+"']").attr("disabled",false)
}
}
})
})
})
</script>
</HEAD>
<BODY>
<div id="test">
<input type="checkbox" id="a" level="1">查看</input>
<input type="checkbox" id="b" level="2">添加</input>
<input type="checkbox" id="c" level="3">修改</input>
<input type="checkbox" id="d" level="4">完全控制</input>
</div>
</BODY>
</HTML>