jquery.treeview的使用很简单,将treeview的样式文件及js先拷入项目相应目录中,需要注意的是,images文件要和jquery.treeview.css同目录,当然你也可以直接修改css样式中的路径。
<link rel="stylesheet" href="css/jquery.treeview.css" /><script type="text/javascript" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="js/jquery.js"></script><script type="text/javascript" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="js/jquery.treeview.js"></script><script type="text/javascript"> $(document).ready(function() { $("#jqTree").treeview({ animated: "fast", persist: "location", collapsed: true, unique: true }); });</script>
目录树的示例如下:
<ul class="class0" id="jqTree"> <li><input type="checkbox" name="cks" value=1 /><a href="#">第一级1</a> </li> <li><input type="checkbox" name="cks" value=2 /><a href="#">第一级2</a> <ul class="class1"> <li><input type="checkbox" name="cks" value=01 /><a href="#">第二级1</a></li> <li><input type="checkbox" name="cks" value=02 /><a href="#">第二级2</a> <ul class="class2"> <li><input type="checkbox" name="cks" value=000 /><a href="#">第三级1</a><input type="checkbox" name="cks" value=222 /><a href="#">第三级2</a></li> <li><input type="checkbox" name="cks" value=001 /><a href="#">第三级3</a></li> <li><input type="checkbox" name="cks" value=002 /><a href="#">第三级4</a> <ul class="class3"> <li><input type="checkbox" name="cks" value=0000 /><a href="#">第四级1</a><input type="checkbox" name="cks" value=0001 /><a href="#">第四级2</a></li> <li><input type="checkbox" name="cks" value=0002 /><a href="#">第四级3</a><input type="checkbox" name="cks" value=0004 /><a href="#">第四级4</a></li> </ul> </li> </ul> </li> </ul> </li></ul>
关键的js代码是级联操作,当我选择某一个节点时,要将相应的子节点及祖先节点进行相应选择,当取消选择时,要先判断祖先节点下面是否还有选中的项,如有没有,则也要取消祖先节点的选择。
$(".content input[type='checkbox'][name='cks']").click(function() { //子孙目录 var c = $(this).parent().find("input"); var b = $(this).attr('checked');$(this).attr('checked', b); c.each(function() { $(this).attr('checked', b); }); //祖先目录 var count = 0; var p = $(this).parents('li');//所有祖先目录 p.each(function(i) { if (i===0){ }else{ var o = $(this).find('input'); if (count) { o[0].checked = true; } else { o[0].checked = false; } } var ulChildren = $(this).parent('ul').find('input'); count = 0; ulChildren.each(function() { if ($(this).attr('checked')) { count++;//当前节点的父结点被选中个数 } }); });});
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦