最近一直在写用js操作单选,反选,关联选择例如
我是根据层级<level>来判断的。
一下是核心代码
<script type="text/javascript">
$(function(){
$('input').click(function(){
var level=$(this).attr('level');
if(level == 1){
var inputs = $('input[type=checkbox]');
$(this).attr('checked') ? inputs.attr('checked',true):inputs.removeAttr('checked');
}else if(level == 2){
var id = $(this).attr('id');
var inputs = $('input[pid='+id+']');
var pid = $(this).attr('pid');
$('input[id='+pid+']').attr('checked',true);
$(this).attr('checked') ? inputs.attr('checked',true):inputs.removeAttr('checked');
var pids = $('input[pid='+id+']').attr('id');
var inputss = $('input[pid='+pids+']');
$(this).attr('checked') ? inputss.attr('checked',true):inputss.removeAttr('checked');
}else if(level == 3){
var id = $(this).attr('id');
var pid = $(this).attr('pid');
$('input[id='+pid+']').attr('checked',true);
var ppid = $('input[id='+pid+']').attr('pid');
$('input[id='+ppid+']').attr('checked',true);
var inputs = $('input[pid='+id+']');
$(this).attr('checked') ? inputs.attr('checked',true):inputs.removeAttr('checked');
}else if(level == 4){
var pid = $(this).attr('pid');
$('input[id='+pid+']').attr('checked',true);
var ppid = $('input[id='+pid+']').attr('pid');
$('input[id='+ppid+']').attr('checked',true);
var pppid = $('input[id='+ppid+']').attr('pid');
$('input[id='+pppid+']').attr('checked',true);
}
});
})
</script>