jQuery EasyUI详解-EasyUI树形控件tree

兄弟们,今日头条搜索三线城市程序员老陈关注我,我将持续不断推出视频教程。

树形控件还是经常使用的,比如菜单、部门管理等涉及到有归属关系的功能经常在前端页面采用树形结构表示。

EasyUI对树形控件的封装非常的Nice,尤其是对复选框的支持简直是漂亮异常。本篇就最常用的菜单数为例演示EasyUI中tree的使用。

先看示意图:
jQuery EasyUI详解-EasyUI树形控件tree_第1张图片

具体代码如下,注意文字描述部分说明:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<html>
  <head>
    <title>树tree示例title>
    <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">
	<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
	<script type="text/javascript" src="easyui/jquery.min.js">script>
	<script type="text/javascript" src="easyui/jquery.easyui.min.js">script>
  head>
  <body>
	<div class="easyui-panel" title="示例1 绑定json数据的树" style="width:480px;padding:10px 10px;">
		<div>注意json数据中的关键键名id/text/children/state,分别表示树节点的id值,显示文本、子节点组、节点状态(是否展开)div>
		<div>data-options参数url表示数据来源,animate表示是否采用展开和关闭节点时的动画效果,lines表示节点间是否采用节点线(更加美观)div>
		<div id="tree1" class="easyui-tree" data-options="url:'json/tree_data.json',animate:true,lines:true">div>
		<a href="javascript:void(0)" class="easyui-linkbutton" onclick="getSelected()">获取选中项a>
	div>
	<div class="easyui-panel" title="示例  带复选框的tree" style="width:480px;padding:10px 10px;">
		<div>注意checkbox:true启用后,功能非常强大div>
		<div>1,可以选择多个选项,并可以获取所有选中项信息div>
		<div>2,在父节点选中后,子节点会自动全选div>
		<div>3,子节点选中1个以上后,父节点会自动变为部分选中状态,子节点全部选中后,父节点变为选中状态div>
		<div id="tree_check" class="easyui-tree" data-options="url:'json/tree_data.json',animate:true,checkbox:true">
		div>
		<a href="javascript:void(0)" class="easyui-linkbutton" onclick="getChecked()">获取选中项a>
	div>
	<script type="text/javascript">
		function getSelected(){
			var node = $('#tree1').tree('getSelected');
			if (node){
				var id = node.id;
				var text=node.text;
				alert("id:"+id+" text:"+text);
			}
		}
		function getChecked(){
			var nodes = $('#tree_check').tree('getChecked');
			var result = '选中项:';
			for(var i=0; i<nodes.length; i++){
				result += nodes[i].id+","+nodes[i].text+"/";
			}
			alert(result);
		}
	script>
  body>
html>

最后,要理解tree_data.json文件中的层级关系,在MyEclipse中编辑json文件时,可以使用右键-【format text】功能自动给json格式化,这样会好看很多。

[
    {
        "id":1,
        "text":"所有功能",
        "children":[
            {
                "id":11,
                "text":"人员管理",
                "children":[
                    {
                        "id":111,
                        "text":"添加人员"
                    },
                    {
                        "id":112,
                        "text":"删除人员"
                    },
                    {
                        "id":113,
                        "text":"修改人员信息"
                    }
                ]
            },
            {
                "id":12,
                "text":"部门管理",
                "state":"closed",
                "children":[
                    {
                        "id":121,
                        "text":"添加部门"
                    },
                    {
                        "id":122,
                        "text":"删除部门"
                    },
                    {
                        "id":123,
                        "text":"Microsoft Office"
                    },
                    {
                        "id":124,
                        "text":"Games",
                        "checked":true
                    }
                ]
            },
            {
                "id":13,
                "text":"权限管理"
            },
            {
                "id":14,
                "text":"角色管理"
            },
            {
                "id":15,
                "text":"菜单管理"
            }
        ]
    }
]

你可能感兴趣的:(jQuery EasyUI详解-EasyUI树形控件tree)