为了账号安全,请及时绑定邮箱和手机立即绑定

jquery treeview 的级联选择

标签:
JQuery

   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 评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消