jQuery easyui的tree用法

由于easyui这个框架简化了不少开发过程,经常被拿来开发后台,但是其实有一个树型的控件,用起来稍微复杂一点,总结了一下最基本的用法!

首先是前台添加标签如下:

<ul id="tt">

</ul>

其次添加引用包

<link href="~/Content/jquery-easyui-1.3.6/themes/default/easyui.css" rel="stylesheet" />

<link href="~/Content/jquery-easyui-1.3.6/themes/icon.css" rel="stylesheet" />

<script src="~/Content/jquery-easyui-1.3.6/jquery.min.js"></script>

<script src="~/Content/jquery-easyui-1.3.6/jquery.easyui.min.js"></script>

前台代码如下:

<script>

isLoad = function () {

$("#tt").tree({

checkbox: false,

url: "/Home/GetArea",

loadFilter: function (data) {

if (data) {

alert(data);

if (data.d){

return data.d

} else {

return data;

}

}

}

//formatter: function (node) {

// return node.text;

//}

//animate: true,

//lines:true,

//onClick:function (node) {

// alert(node.text);

//},

//onBeforeExpand: function (node,param) {

// $("tt").tree("options").url = "/Home/GetSubAreaById?parentId="+node.id;

//}

});

}

$(function () {

isLoad();

});

</script>

这里要说一下,loadfilter加上后就已经可以展示了,主要起过滤作用

而如果不要loadfilter只要formatter的话,而可以自已定义需要显示的字段  以node.text表示显示text的值

加上animate:true,则展开收缩时会缓慢进行,有动画的效果

加上lines:true,则原先前面显示的是小三角变为树形的+号

加上

onClick:function (node) {

alert(node.text);

}

则可以单击节点时显示相应的属性值

实现的后台代码,写了一个treehelper类

//有需要可以在拼接上加上图标属性等

public class TreeHelper

{

public static string GetDataString(List<TblArea> list, int id)

{

StringBuilder sb = new StringBuilder();

List<TblArea> tempList= list.Where(p=>p.AreaPId==id).ToList();

if (tempList.Count>0)

{

sb.Append("[");

for (int i = 0; i < tempList.Count; i++)

{

string childString = GetDataString(list,tempList[i].AreaId);

if (!string.IsNullOrEmpty(childString))

{

sb.Append("{ \"id\":\"" + tempList[i].AreaId + "\",\"text\":\"" + tempList[i].AreaName + "\",\"state\":\"closed\",\"children\":");

sb.Append(childString);

}

else

{

if (tempList[i].AreaId%2==0)

{

sb.Append("{\"id\":\"" + tempList[i].AreaId + "\",\"text\":\"" + tempList[i].AreaName + "\"},");

}

else

{

sb.Append("{\"id\":\"" + tempList[i].AreaId + "\",\"text\":\"" + tempList[i].AreaName + "\"},");

}

}

}

sb.Replace(‘,‘,‘ ‘,sb.Length-1,1);

sb.Append("]},");

}

return sb.ToString();

}

}

添加后台实现方法如下

public ContentResult GetArea()

{

nononodeleteImportantEntities db = new nononodeleteImportantEntities();

StringBuilder sb = new StringBuilder();

List<TblArea> province = db.TblArea.ToList();

if (province.Count > 0)

{

sb.Append(TreeHelper.GetDataString(province, 0));

sb = sb.Remove(sb.Length - 2, 2);

}

return Content(sb.ToString());

此类主要是用来拼接easyui 能识别的json数据的,为什么要拼接,1因为官方所提供的就是这样的,不容易出错,只是写起来稍显费劲

后期将试着改用对象直接序列化json,应该可以简化不少

有需要更多功能再去参考官方文档

jQuery easyui的tree用法

时间: 2024-11-18 02:37:35

jQuery easyui的tree用法的相关文章

04 jquery easyui 之 Tree

树(Tree)可以在一个空的 <ul> 元素中定义,可使用 javascript 加载数据. 在body中添加ul标签 <ul id="tt"></ul> 然后在使用javascript代码加载数据 使用JSON加载数据 $('#tt').tree({ url:'treedata.json'}); 树的数据格式(Tree Data Format) 每个节点可以包括下列属性: id:节点的 id,它对于加载远程数据很重要. text:要显示的节点文本.

jquery easyui里datagrid用法记录

1.删除行方法(deleteRow) $('#ruleManagementTable').datagrid('deleteRow', 1); //1代表选中的行索引 2.删除多行数据 var rows = $('#ruleManagementTable').datagrid("getSelections"); //获取你选择的所有行 //循环所选的行 for(var i =0,l=rows.length;i<l;i++){ var index = $('#ruleManageme

jquery easyui tree异步加载的简单用法

jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+reque

JQuery EasyUi Tree获取所有checkbox选中节点的id和内容

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>    <head>        <meta name="generator" content="HTML Tidy, see www.w3.org">      

jquery easyui tree dialog

<script type="text/javascript" src="<%=request.getContextPath()%>/include/javascript/portalPage/jquery-1.11.2.min.js"></script> <link rel="stylesheet" href="<%=request.getContextPath()%>/emr/in

Jquery easyui tree的使用

这个ui用的一切都是json数据.树也是如此! 后台需要返回与格式匹配的json数据才能正确加载树. 页面定义一个ui: <ul id="messageInfoAddTree" class="easyui-tree" checkbox="true" data-options="lines:true" style="height:94%"></ul> JS访问后台: //人员树 $('

Jquery easyui Tree的简单使用

Jquery easyui 是jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签. Jquery easyui 官网:http://jeasyui.com/ ,中文网站:http://www.jeasyui.net/,jquery easyui 下载地址:http://

用户界面框架jQuery EasyUI示例大全之Tree

<jQuery EasyUI最新试用版免费下载> jQuery EasyUI致力于帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.jQuery EasyUI提供了基于当下流行的jQuery core和HTML5的控件,助您打造适合当今网络的应用程序. 基本树 本示例主要演示了jQuery EasyUI基本的树,在左边可点击展开或折叠节点的箭头.[另附源代码供大家参考] |在线Demo 动画树 本示例主要演示了jQuery EasyUI的动画树,将'animate'属性设置为true可

jQuery EasyUI NumberBox(数字框)的用法

这里的options是选项,可以参考下表: 选项名 类型 描述 默认值 min 数字 文本框中可允许的最小值 null max 数字 文本框中可允许的最大值 null precision 数字 最高可精确到小数点后几位 0 例如:金额输入框 最大值为“99999.99” 精确到两位小数. <input name="money" id="money" type="text" class="easyui-numberbox"