一个很好用的Jquery树形控件

官网:http://www.ztree.me/v3/main.php#_zTreeInfo

我主要引用的文件为:

//最新版的JS压缩包
<script src="../Script/jquery-1.11.1.min.js" type="text/javascript"></script>
//Ztree样式
<link href="../CSS/zTreeStyle.css" rel="stylesheet" type="text/css" />
<script src="../Script/jquery.ztree.core-3.5.js" type="text/javascript"></script>
<script src="../Script/jquery.ztree.excheck-3.5.js" type="text/javascript"></script>

根据项目需要主setting设置如下:

 var setting1 = {
check: {
enable: true,
chkboxType: { "Y": "ps", "N": "ps" }
},
data: {
simpleData: {
enable: true }
} }; var setting = {
check: {
enable: true,
chkboxType: { "Y": "ps", "N": "ps" }
},
async: {
enable: true, // 设置 zTree是否开启异步加载模式 加载全部信息
url: "", // Ajax 获取数据的 URL 地址
autoParam: ["id"] // 异步加载时自动提交父节点属性的参数,假设父节点 node = {id:1, name:"test"},异步加载时,提交参数 zId=1
},
data: { // 必须使用data
simpleData: {
enable: true,
idKey: "id", // id编号命名 默认
pIdKey: "pId", // 父id编号命名 默认
rootPId: // 用于修正根节点父节点数据,即 pIdKey 指定的属性值
}
},
// 回调函数
callback: {
//捕获异步加载出现异常错误的事件回调函数 和 成功的回调函数
onAsyncError: zTreeOnAsyncError,
onAsyncSuccess: function (event, treeId, treeNode, msg) {
var name = $("#<%=hdfValue.ClientID%>").val(); if (name != undefined && name != "") {
//默认选中
$.ajax({
//设置同步
type: "POST",
async: false,
url: '',
data: { type: '', name: name },
dataType: 'json', success: function (data) {
//对于获取的数据执行相关的操作,如:绑定、显示等
var treeObj = $.fn.zTree.getZTreeObj('Tree1'); for (var i = ; i < data.length; i++) {
var node = treeObj.getNodeByParam("id", data[i].id, null);
treeObj.checkNode(node);
}
}
}); //学校信息
$.ajax({
type: "POST",
async: false,//同步
url: 'CategoryHandler.ashx',
data: { type: 'search', name: name },
dataType: 'json', success: function (data) {
//对于获取的数据执行相关的操作,如:绑定、显示等
//专业信息;eval将字符串转换为JSON串/
//可以使用http://www.bejson.com/ 检查是否自己的Json串正确与否
$.fn.zTree.init($("#Tree2"), setting1, eval(data[].Specialty));
}
});
} },
onRename: zTreeOnRename
}
}; // 加载错误提示
function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
alert("加载错误:" + XMLHttpRequest);
}; function beforeRemove(e, treeId, treeNode) {
return confirm("你确定要删除吗?");
}
function onRemove(e, treeId, treeNode) {
if (treeNode.isParent) {
var childNodes = zTree.removeChildNodes(treeNode);
var paramsArray = new Array();
for (var i = ; i < childNodes.length; i++) {
paramsArray.push(childNodes[i].id);
}
alert("删除父节点的id为:" + treeNode.id + "\r\n他的孩子节点有:" + paramsArray.join(","));
return;
}
alert("你点击要删除的节点的名称为:" + treeNode.name + "\r\n" + "节点id为:" + treeNode.id);
} function zTreeOnRename(event, treeId, treeNode, isCancel) {
//可以自定义属性,然后根据这些属性来完成操作
alert(treeNode.id + ",重命名过后的回调函数 " + treeNode.name); //1.ajax更新数据库
} //必备的在ztree加载方法
$(document).ready(function () {
$.fn.zTree.init($("#Tree1"), setting);
$.fn.zTree.init($("#Tree2"), setting1);
}); //将在ztree1中选中的信息填到ztree2
function OnclickRight() {
var treeObj = $.fn.zTree.getZTreeObj('Tree1');
var nodes = treeObj.getCheckedNodes(true);
var checkedValues = '';
var a = [];
for (var i = ; i < nodes.length; i++) {
var obj = {};
obj.id = nodes[i].id;
obj.pId = nodes[i].pId;
obj.name = nodes[i].name;
a.push(obj);
}
if (a.length > ) {
$.fn.zTree.init($("#Tree2"), setting1, a);
}
} //清除选中的tree2节点
function OnclickLeft() {
var treeObj = $.fn.zTree.getZTreeObj("Tree2");
var nodes = treeObj.getCheckedNodes(true); for (var i = , l = nodes.length; i < l; i++) {
if (nodes[i].check_Child_State == ) {
treeObj.removeNode(nodes[i]);
} else if (nodes[i].check_Child_State == - && !(nodes[i].isParent)) {
treeObj.removeNode(nodes[i]);
} else {
treeObj.checkNode(nodes[i], false, false);
}
}
}

附带这个页面的其他几个问题:

<asp:DropDownList ID="ddlB" runat="server"> </asp:DropDownList>

获取此下拉框数据:   YJSEnglish = $("#ContentPlaceHolder1_ddlB").find("option:selected").val();

<asp:CheckBoxList ID="cblCategory" runat="server" RepeatDirection="Horizontal"> </asp:CheckBoxList>

获取多选框数据:

$("[id*=cblCategory] input:checked").each(function () {

Values += $(this).val() + ",";

});

因为我传递到后台的数据有中文信息,所以我的Ajax如下:

var obj = {};

obj结构如下

//组织ID
obj.OrgId = OrgId;

 $.ajax({
url: "Ajaxahsx/CategoryHandler.ashx?action=Save",
data: obj,
type: 'POST',
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function (data) {
alert("成功");
window.location.href = 'SearchIndex.aspx';
},
error: function (data) {
alert("程序出错");
}
})
}

ztree使用心得的更多相关文章

  1. ztree 使用心得

    最近项目需要用ztree ,初步研究感觉这个插件写的实在是太好了.现总结遇到的问题 封装一颗树 /** * 按类型分组树 * Id 按类型分组ID * treeId 树ID * treeDivId d ...

  2. zTree & ckeditor &ValidateCode.jar 使用个人心得总结

    zTree:依靠 jQuery 实现的多功能 “树插件”. 使用时只需要将下载的压缩包接用,复制里边的css 和 js 到指定目录即可. 如图所示: 在zTree的官网可以找到各种类型树的示例: 地址 ...

  3. 利用ZTree链接数据库实现 [权限管理]

    最近想研究权限管理,看群里有人发了ZTrees模板,我看了下,觉得笔easyUI操作起来更灵活些,于是就开始研究了. 刚开始从网上找了找了个Demo,当然这个并没有实现权限啥的,但实现了前台调用Aja ...

  4. web前端开发控件学习笔记之jqgrid+ztree+echarts

    版权声明:本文为博主原创文章,转载请注明出处.   作为web前端初学者,今天要记录的是三个控件的使用心得,分别是表格控件jqgrid,树形控件ztree,图表控件echarts.下边分别进行描述. ...

  5. js插件ztree使用

    最新给公司后台写了一个配置页面,在网上搜到一个js插件ztree,记录一下使用心得. 首先说一下ztree官网,好多方法我都是从官网api上学习的,官网地址http://www.treejs.cn/v ...

  6. 树结构ztree的 ajax交互的简单使用

    今天做前端页面要用到树结构,用了第三方插件ztree,搞了好久不过终于弄出来了,, 一点小心得.(用的版本 V3 ) 首先看下载的文件结构: 一:将要用到的CSS 和 JS 拷贝到工程中,我这里在工程 ...

  7. jquery zTree插件 json 数据详解

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  9. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

随机推荐

  1. bjfu1287字符串输出的大水题

    不多说 /* * Author : ben */ #include <cstdio> #include <cstdlib> #include <cstring> # ...

  2. UIImageView 点击放大缩小

    static CGRect oldframe; -(void)showImage:(UIImageView *)avatarImageView{ UIImage *image=avatarImageV ...

  3. LR之错误处理

    1.脚本的健壮性 2.VuGen的处理机制 3.lr_continue_on_error函数 4.示例代码

  4. [Asp.net MVC]Asp.net MVC5系列——Razor语法

    Razor视图引擎是Asp.net MVC3中新扩展的内容,并且也是它的默认视图引擎.还有另外一种Web Forms视图引擎.通过前面的文章可知在Asp.net mvc5中创建视图,默认使用的是Raz ...

  5. html5的一些表单属性

    IE8及以下不能很好支持这些属性 <pre>input属性: placeholder:输入框的默认值,向用户显示描述性说明文字或者提示信息 autocomplete:值为on和off..o ...

  6. linux 条件变量

    互斥量就是一把锁,在访问数据时能保证同一时间内只有一个线程访问数据,在访问完以后再释放互斥量上的锁. 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条 ...

  7. 编译python3

    安装环境 yum install gcc yum install zlib-devel yum install make 下载python版本 wget http://www.python.org/f ...

  8. html5 canvas图片马赛克

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. pip install 下载慢的问题

    建个文件 ~/.pip/pip.conf, 内容如下 [global] timeout = 6000 index-url = https://pypi.doubanio.com/simple [ins ...

  10. c# 邮件发送代码分享

    /// <summary> /// 发送邮件方法 /// </summary> /// <param name="sendMail">发送人&l ...