jquery.treeview的使用很简单,将treeview的样式文件及js先拷入项目相应目录中,需要注意的是,images文件要和jquery.treeview.css同目录,当然你也可以直接修改css样式中的路径。
1 | <link rel= "stylesheet" href= "css/jquery.treeview.css" /><script type= "text/javascript" src= "js/jquery.js" ></script><script type= "text/javascript" src= "js/jquery.treeview.js" ></script><script type= "text/javascript" > $(document).ready( function () { $( "#jqTree" ).treeview({ animated: "fast" , persist: "location" , collapsed: true , unique: true }); });</script> |
目录树的示例如下:
1 | < 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代码是级联操作,当我选择某一个节点时,要将相应的子节点及祖先节点进行相应选择,当取消选择时,要先判断祖先节点下面是否还有选中的项,如有没有,则也要取消祖先节点的选择。
1 | $( ".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 点赞
2 评论
共同学习,写下你的评论
门外小白3342804
亲,答案呢?我有一大半不会,想看参考呢
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
很多不会,为什么没答案啊