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://jeasyui.com/download/index.php

在项目中有时需要页面设计,不巧美工前端人员比较忙或者其他原因,造成敲代码的程序猿不得不进行ui设计,此时可以尝试easyui。

进入正题,本文分两部分介绍easyui中tree的使用:

  首先我们需要引用两个文件一个是 主题样式css文件,一个是easyui核心js文件(easyui依赖jquery,如果没有引用,需要添加引用)

  在想要生成tree的ul加上class "easyui-tree"

1.静态数据Tree,结构确定,数据是确定的,数据直接在html写死的

2.动态数据Tree,结构不确定,动态数据,数据需要从服务器端获取

  1. 静态数据Tree

    静态数据tree代码示例:

    <ul class="easyui-tree" id="nav_ul">
    <li><a href="default.aspx">信息管理</a> </li>
    <li><a href='columnManage.aspx'>栏目管理</a></li>
    <li><a href="ContentManage.aspx">内容管理</a></li>
    <li><a href="RecycleContent.aspx">内容回收站</a></li>
    <li><span>资源管理</span>
    <ul>
    <li><a href="ResourceManage-0.aspx">CSS管理</a></li>
    <li><a href="ResourceManage-1.aspx">JS管理</a></li>
    </ul>
    <li><span>模板管理</span>
    <ul>
    <li><a href="ResourceManage-2.aspx">内容页模板管理</a></li>
    <li><a href="ResourceManage-3.aspx">栏目页模板管理</a></li>
    </ul>
    </li>
    </li>
    </ul>

    在浏览器中的效果:,可以根据自己想要实现的样式,进行样式的调整,建议加页面内联样式或行内样式,不要直接修改easyui的css文件

  2. 动态数据Tree

    动态数据tree前台html代码示例:

    <ul id="tt" class="easyui-tree" data-options="url:'/Handlers/getTypesNodeHandler.ashx'"></ul>

    url代表的是从服务器端获取tree的数据的处理程序路径

  经过使用 Fiddle调试可以发现每次请求时,请求参数为“id”,值为选择节点的id

服务器端处理程序getTypesNodeHandler.ashx示例代码:    

移除tree当前选择项,当选中tree的某个 节点时,对应节点会多一个class为“tree-node-selected ”的样式,将这个样式去掉就可以移除选择的tree的选项

$(".tree-node-selected").removeClass("tree-node-selected");
 using System;

 namespace Models.FormatModel
{
public class TreeModel
{
//节点id
public int id { get; set; } //节点显示的文本
public string text { get; set; } //open 、closed
public string state { get { return "closed"; } }
}
}

TreeModel

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace WebApplication1.Handlers
{
/// <summary>
/// Summary description for getTypesNodeHandler
/// </summary>
public class getTypesNodeHandler : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
int parentId = ;
int.TryParse(context.Request["id"], out parentId);
List<Models.Category> types = null;
try
{
//判断父节点的值
if (parentId > )
{
//加载子级菜单
types = CommonNews.Helper.OperateContext.Current.LoadSecondaryCategory(parentId);
}
else
{
//加载顶级菜单
types = CommonNews.Helper.OperateContext.Current.LoadTopCategory();
}
//判断是否有值,有值的话先转换为tree模型再转换为json输出,没有值直接输出空字符串
if (types != null)
{
//转换为tree模型
List<Models.FormatModel.TreeModel> tree = types.Select(t => new Models.FormatModel.TreeModel() { id = t.CategoryId, text = t.CategoryName }).ToList();
//转换为json格式数据输出
context.Response.Write(Common.ConverterHelper.ObjectToJson(tree));
}
else
{
context.Response.Write("");
}
}
catch (Exception ex)
{
new Common.LogHelper(typeof(getTypesNodeHandler)).Error(ex);
context.Response.Write("error");
}
} public bool IsReusable
{
get
{
return true;
}
}
}
}

getTypesNodeHandler

Jquery easyui Tree的简单使用的更多相关文章

  1. Jquery easyui tree的使用

    这个ui用的一切都是json数据.树也是如此! 后台需要返回与格式匹配的json数据才能正确加载树. 页面定义一个ui: <ul id="messageInfoAddTree" ...

  2. 雷林鹏分享:jQuery EasyUI 窗口 - 创建简单窗口

    jQuery EasyUI 窗口 - 创建简单窗口 创建一个窗口(window)非常简单,我们创建一个 DIV 标记: Some Content. 现在运行测试页面,您会看见一个窗口(window)显 ...

  3. jquery easyui tree dialog

    <script type="text/javascript" src="<%=request.getContextPath()%>/include/ja ...

  4. Jquery EasyUI Tree .net实例

    图片: 针对tree: 数据库: CREATE TABLE [dbo].[SystemModel]( [Id] [,) NOT NULL, [Name] [nvarchar]() NULL, [Fat ...

  5. Jquery easyui tree 一些常见操作

    Tree: easyui tree的异步加载实现很简单,easyui的中文API文档中有实例(http://api.btboys.com/easyui/)——创建异步树形菜单,就是在tree node ...

  6. Jquery EasyUI Tree树形结构的Java实现(实体转换VO)

    前一阵做的OA项目,有一个是组织架构的树,因为是分开做的,我做的是Controller和页面,其他组做的Service和Dao,因为之前一直没有商量页面用什么框架做比较好,导致,Dao层取出来的数据都 ...

  7. 如何采用easyui tree编写简单角色权限代码

    首先每个管理员得对应一个角色: 而角色可以操作多个栏目,这种情况下我们可以采用tree多选的方式: 在页面上js代码: $('#Permission').dialog({ title: '栏目权限', ...

  8. JQuery EasyUI Tree组件的Bug记录

    记录一下使用项目中使用EasyUI遇到的bug,废话少说直接上菜  - _-(bug)..... bug ::   .netcore创建一个web应用时候,会自动引入jQuery库以及一些插件,但是在 ...

  9. JQuery EasyUI Tree

    Tree 数据转换 所有节点都包含以下属性: id:节点id,这个很重要到加载远程服务器数据 which is important to load remote data text: 显示的节点文本 ...

随机推荐

  1. CentOS7之VMware安装

    选择CentOS的原因 起初也了解了几个linux的发行版,最终决定选择centOS的原因却很简单:阿里云和腾讯云提供的云服务器中centos的版本最多.  VMware12的安装 下载地址:http ...

  2. js数组冒泡排序,快速排序的原理以及实现

    冒泡排序: 随便从数组中拿一位数和后一位比较,如果是想从小到大排序,那么就把小的那一位放到前面,大的放在后面,简单来说就是交换它们的位置,如此反复的交换位置就可以得到排序的效果. var arr = ...

  3. VirtualBox Bridged 无线网卡

    启动虚拟机后选择右键单击右下角的网络链接图标,  弹出的窗口中选择Bridged Adapter,  wlan0 然后选择OK 查看virtual Box主页面中setting中网络的配置是否和刚才一 ...

  4. [转载]浅谈组策略设置IE受信任站点

    在企业中,通常会有一些业务系统,要求必须加入到客户端IE受信任站点,才能完全正常运行访问,在没有域的情况下,可能要通过管理员手动设置,或者通过其它网络推送方法来设置. 有了域之后,这项工作就可以很好的 ...

  5. 谈Mysql索引

    myisam和innodb的索引有什么区别? 两个索引都是B+树索引,但是myisam的表存储和索引存储是分开的,索引存储中存放的是表的地址.而innodb表存储本身就是一个B+树,它是用主键来做B+ ...

  6. SQL Server技术问题之视图优缺点

    优点: 一.简单性.视图不仅可以简化用户对数据的理解,也可以简化他们的操作.那些被经常使用的查询可以被定义为视图,从而使用户不必为以后的操作每次都指定全部的条件. 二.安全性.通过视图用户只能查询和修 ...

  7. JS魔法堂:浏览器模式和文档模式怎么玩?

    一.前言 从IE8开始引入了文档兼容模式的概念,作为开发人员的我们可以在开发人员工具中通过“浏览器模式”和“文档模式”(IE11开始改为“浏览器模式”改成更贴切的“用户代理字符串”)品味一番,它的出现 ...

  8. 关于WIndows内核自映射方案的通俗解释

    在一次操作系统课程上听老师说了这么一个有意思的东西,windows的自映射方案居然达到了把4K的页目录的线性地址“藏”在4M页表里的效果,感觉甚是奇特,于是乎就想着说怎么去算.光会算之后仍旧不满足,我 ...

  9. XSS 和 CSRF 攻击

    web安全中有很多种攻击手段,除了SQL注入外,比较常见的还有 XSS 和 CSRF等 一.XSS(Cross Site Scripting)跨站脚本 XSS其实就是Html的注入问题,攻击者的输入没 ...

  10. SQL Server case when 日期字符串转换 多表查询 嵌套子查询

    select distinct stu.*, dbo.GetClassNameByStudentCode(stu.Code) as ClassName, dbo.GetCourseNameByStud ...