1、数据在页面获取。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<base href="<%=basePath%>">
<link rel="stylesheet" href="<%=basePath%>css/demo.css" type="text/css">
<link rel="stylesheet" href="<%=basePath%>css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="<%=basePath%>js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<%=basePath%>js/jquery.ztree.core-3.0.js"></script>
<script type="text/javascript" src="<%=basePath%>js/jquery.ztree.excheck-3.0.js"></script>
<!--
<script type="text/javascript" src="../../../js/jquery.ztree.exedit-3.0.js"></script>
-->
<SCRIPT type="text/javascript">
<!--
var setting = {
check: {
enable: true
},
data: {
simpleData: {
enable: true
}
}
};
var zNodes =[
{ id:1, pId:0, name:"随意勾选 1", open:true},
{ id:11, pId:1, name:"随意勾选 1-1", open:true},
{ id:111, pId:11, name:"随意勾选 1-1-1"},
{ id:112, pId:11, name:"随意勾选 1-1-2"},
{ id:12, pId:1, name:"随意勾选 1-2", open:true},
{ id:121, pId:12, name:"随意勾选 1-2-1"},
{ id:122, pId:12, name:"随意勾选 1-2-2"},
{ id:2, pId:0, name:"随意勾选 2", checked:true, open:true},
{ id:21, pId:2, name:"随意勾选 2-1"},
{ id:22, pId:2, name:"随意勾选 2-2", open:true},
{ id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
{ id:222, pId:22, name:"随意勾选 2-2-2"},
{ id:23, pId:2, name:"随意勾选 2-3"}
];
var code;
function setCheck() {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
py = $("#py").attr("checked")? "p":"",
sy = $("#sy").attr("checked")? "s":"",
pn = $("#pn").attr("checked")? "p":"",
sn = $("#sn").attr("checked")? "s":"",
type = { "Y":py + sy, "N":pn + sn};
zTree.setting.check.chkboxType = type;
showCode('setting.check.chkboxType = { "Y" : "' + type.Y + '", "N" : "' + type.N + '" };');
}
function showCode(str) {
if (!code) code = $("#code");
code.empty();
code.append("<li>"+str+"</li>");
}
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
setCheck();
$("#py").bind("change", setCheck);
$("#sy").bind("change", setCheck);
$("#pn").bind("change", setCheck);
$("#sn").bind("change", setCheck);
});
//-->
</SCRIPT>
</HEAD>
<BODY>
<h1>Checkbox 勾选操作</h1>
<h6></h6>
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
</div>
</body>
</html>
2、数据从后台获取。
1)页面
<title>Insert title here</title>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<base href="<%=basePath%>">
<link rel="stylesheet" href="<%=basePath%>css/demo.css" type="text/css">
<link rel="stylesheet" href="<%=basePath%>css/zTreeStyle/zTreeStyle.css"
type="text/css">
<script type="text/javascript" src="<%=basePath%>js/jquery-1.4.4.min.js"></script>
<script type="text/javascript"
src="<%=basePath%>js/jquery.ztree.core-3.0.js"></script>
<script type="text/javascript"
src="<%=basePath%>js/jquery.ztree.excheck-3.0.js"></script>
<SCRIPT type="text/javascript">
var setting = {
check: {
enable: true
},
data: {
simpleData: {
enable: true
}
}
};
var zTree;
var treeNodes;
var code;
$(function() {
$.ajax({
async : false,
cache : false,
type : "POST",
dataType : "String",
url : "menu.action",//恳求的action路径
error : function() {//恳求失败处理惩罚函数
alert("恳求失败");
},
success : function(data) { //恳求成功后处理惩罚函数。
alert(data);
// console.log(data); // 火狐在后台打印的日志。
treeNodes = data; //把后台封装好的简单Json格局赋给treeNodes
}
});
//将string类型转换成json
treeNodes = eval("(" + treeNodes + ")");
zTree = $.fn.zTree.init($("#treeMenu"), setting, treeNodes);
});
</SCRIPT>
</HEAD>
<BODY>
<h1>Checkbox 勾选操作</h1>
<h6></h6>
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<ul id="treeMenu" class="ztree"></ul>
</div>
</div>
</body>
</html>
2)后台
/**
*
* 查询所有菜单。
*
* @return String
*/
public String queryAllMenu()
{
List<String> lstTree = new ArrayList<String>();
listMenu = this.menuService.queryMenu();
HttpServletResponse response = ServletActionContext.getResponse();
for (MenuInfo menu : listMenu)
{
String strMenu = null;
strMenu = "{id:" + menu.getMenuId() + "," + "pId:"
+ menu.getParentMenuId() + "," + "name:"
+ "'"+menu.getMenuName()+"'" +","+ "open:true" + "}";
lstTree.add(strMenu);
}
printWriter(response, JSONArray.fromObject(lstTree).toString());
return "success";
}
/**
*
* Description:将字符串写入Http响应 <br>
*
* @param response
* response
* @param outStr
* outStr
* @see
*/
private void printWriter(HttpServletResponse response, String outStr)
{
// 返回拼裝的数据
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter out = null;
try
{
out = response.getWriter();
out.print(outStr);
}
catch (IOException e)
{
DEBUGGER.error(e.toString());
}
finally
{
if (null != out)
{
out.close();
}
}
}