jquery树形插件zTree实践

zTree 是一个开源的,依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

地址:http://www.treejs.cn/

项目中展示程序调用堆栈树结构,因此采用了zTree比较简单的方式,进行需求实现。

1、引用zTree

主要引入的对象有:zTreeStyle.css、jquery.ztree.all.js,注意jquery版本应在1.4.4版本以及以上。

<link rel="stylesheet" href="/static/css/zTreeStyle.css">
<script src="/static/js/ztree/jquery.ztree.all.js"></script>

 

2、前端调用

页面内容

<ul id="treeDemo" class="ztree"></ul>

编写js

{literal}
    <script type="text/javascript">
        function test(event, treeId, treeNode) {
            alert(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked);
        }
        setting = {
            callback:{
                onCheck:test
            }
        };

        zTreeNodes = [
            {
                name:"test1",
                open:true,
                children:[
                    {
                        name:"test1_1",
                        open:true,
                        children:[
                            {
                                name:"test_1_1_1",
                                open:true,
                            },
                            {
                               name:"test1_1_2",
                                open:true
                            }

                        ]
                    },
                    {
                        name:"test1_2",
                        open:true,
                        children:[
                            {
                                name: "test1_2_1",
                                open: true,
                            }
                        ]
                    }
                ]
            }
        ];

        $(document).ready(function () {
            $.fn.zTree.init($("#treeDemo"),setting,zTreeNodes)
        });

    </script>
{/literal}

参考前端页面如下:

其中遇到几个问题:

1、Unexpected ":", expected one of: "}" , " "

javascript代码本身是没问题的,这个错误是smarty框架报错,js变量中配置了smarty的开闭标签为‘{’,'}',smarty在编译的时候就会以为遇到smarty语法,进行编译发生了错误,解决方法是用smarty中的{literal}标签,来包裹javascript代码。

2、$ undefined

还是引用问题,js引用要在调用之前,最好在basetpl的head里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值