效果如下:
选择:
拖拽:
jquery.simple.tree.官网地址: http://news.kg/wp-content/uploads/tree/(貌似已经打不开),不过因为操作比较简单,所以我们暂且用之。
前面讲过jquery EasyUI Tree插件,简单易用,但经过测试仍有诸多缺点,
例如:
1、兼容IE8的AJAX有问题。
2、如果异步返回数据较慢,将可能导致加载失败。
3、我们只使用其中的Tree功能,但其体积实在有点庞大。...
而我们需要的是,兼容性好,异步,体积小(用Tree的场景实在比较少,所以还是专用的代码文件比较好。)
好了,我们开始jquery.simple.tree之旅:
首先,要加载文件,一共三个:CSS、Jquery主文件、还有其本身的js文件;
然后,是定义Tree的代码;
最后,写出这根树的根节点HTML代码;
前台代码如下:
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>区域选择</title>
<link rel="stylesheet" href="/js/simpletree/jquery.simple.tree.css" />
<script type="text/javascript" src="/js/jquery1.4.2.min.js"></script>
<script type="text/javascript" src="/js/simpletree/jquery.simple.tree.js"></script>
<script type="text/javascript">
var simpleTreeCollection;
$(document).ready(function(){
simpleTreeCollection = $('.simpleTree').simpleTree({
autoclose: true,
afterClick:function(node){
alert("您选择了:" + $('span:first',node).text() + "id为:" + $('span:first',node).attr("id").substr(2));//此处为何要“.substr(2)”,是因为特殊原因,稍后可以得到解释.如果你仅仅需要取文字,这里可以不取ID。
},
afterDblClick:function(node){
//alert("text-"+$('span:first',node).text());//双击事件
},
afterMove:function(destination, source, pos){
//alert("destination-"+destination.attr('id')+" source-"+source.attr('id')+" pos-"+pos);//拖拽事件
},
afterAjax:function()
{
//alert('Loaded');
},
animate:true
//,docToFolderConvert:true
});
});
</script>
</head>
<body>
<ul class="simpleTree">
<li class="root"><span>区域选择</span>
<ul>
<li id="root0" class="open"><span>中国</span>
<ul class="ajax">
<li id='0'>{url:/common/GetGroupHtmlByPid.ashx?pid=0}</li>
</ul>
</li>
</ul>
</li>
</ul>
</body>
</html>
后台响应代码:
GetGroupHtmlByPid.ashx.cs
复制代码 代码如下:
public class GetGroupHtmlByPid : IHttpHandler
{
GroupManager group;
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
int parentId = -1;
int type = 0;
string resultStr = string.Empty;
if (!context.Request.QueryString["pid"].IsNullOrEmpty())
{
Int32.TryParse(context.Request.QueryString["pid"], out parentId);
}
if (!context.Request.QueryString["type"].IsNullOrEmpty())
{
Int32.TryParse(context.Request.QueryString["type"], out type);
}
if (parentId >= 0)
{
try
{
group = new GroupManager((GroupType)type);
var subAg = group.AllGroups.Where(c => c.ParentId == parentId);
resultStr += "<ul>";
foreach (Base_group item in subAg)
{
resultStr += "<li id=\"" + item.GroupId + "\"><span id=\"1_" + item.GroupId + "\">" + item.GroupName + "</span>";//这里可以解释前台代码为何要.substr(2);
resultStr += "<ul class='ajax'><li>{url:/common/GetGroupHtmlByPid.ashx?pid=" + item.GroupId + "}</li></ul>";
resultStr += "</li>";
}
resultStr += "</ul>";
}
catch (Exception ex)
{
}
}
context.Response.Write(resultStr);
}
public bool IsReusable
{
get
{
return false;
}
}
}
后台看起来有点别扭,因为这个插件本身只支持HTML节点加载的,不过网上有人进行扩展了,用了JSON,不过个人感觉这对速度影响实在微乎其微,还是直接封装出HTML代码的。
总结一下jquery.simple.tree插件的优缺点:
优点:体积小,兼容性高,可异步,支持拖拽。
缺点:如果初始化的时候就需要异步加载,则需要手动更改它的几行代码。例如我的例子中。
本插件还有一个特别的功能,支持拖拽,可以用于后台维护无限分类,非常方便,有待读者自己去发掘,希望本文能够抛砖引玉,对你有所帮助!
源插件下载地址:http://plugins.jquery.com/project/SimpleTree
我的修改后的下载地址:simpletree.rar
我只修改了2行代码,以便在第一次初始化时就加载异步的内容。
相关推荐:
用AI写文,开启创作新时代
ChatGPTApp怎么调大字体?提升阅读体验,让文字更清晰,推荐ai音频
线上AI写作免费一键生成,轻松提升写作效率,解放创作思维
seo黑帽是什么,列举几种seo黑帽行为 ,穿老款的ai丢人吗
SEO适合-提升网站排名的关键策略,张家口品牌推广营销中心
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说
“新关键词”开启智慧营销新篇章,助力品牌突围,自己如何做网站seo
ChatGPT常见问题汇总:解答你关于AI的一切疑惑,松鼠ai智能教适应教育
什么是seo快排,seo快排方案 ,ai剪图形
ChatGPT付款被拒?如何应对与解决常见支付问题,掉包ai
AI智能时代的到来:如何利用人工智能推动生活与商业创新,ai相册下载
SEM做得好可以取代SEO吗?浅析两者的异同与未来趋势,王道ai
SEO需要什么语音,seo需要考虑什么 ,学生作业ai
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
SEO量:提升网站流量和排名的关键法则,德兴seo
seo词库优化,搜索词条优化 ,ai点选择
seo用什么论坛引流,seo引流方法 ,ai写作续写神器
SEM+SEO:助力企业数字化营销的双剑合璧之道,ai头像丑
为什么关键词太少会影响你的网络营销效果?,陕西seo网站推广工具
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
乘风SEO-引领企业互联网时代的腾飞之路,南昌b站关键词排名优化贵不贵
ChatGPT手机下载后打不开?可能是这些问题导致的,解决方法在这里!,孤城ai动画
SEO优化基础:让你的网站脱颖而出的秘密武器,模仿猫ai
seo适合看什么书,自学seo书籍推荐 ,ai少女 刻晴
seo系列什么意思,seo的分类 ,que n ai je
二SEO是什么,h二seo三是什么 ,ai手术机
AI工具,让工作效率翻倍:AI工具教程全面解析
SEO项目指的是什么,seo项目指的是什么意思 ,写个ai
在线AI文章生成器开启智能创作新时代
软件AI:颠覆未来的智能革命
seo网站关键字排名优化,网站seo关键词 ,运动ai
SEO流程全解析:如何提升网站流量与排名,账号如何营销推广
seo用什么写属性写,seo属于什么 ,芭田科学施肥AI
SEO做好,企业网站流量翻倍的关键,seo白帽技术有哪些
SEO数量-如何提升你的网站排名与流量?,射阳seo优化五星服务
AI免费试用不需要登录:体验智能科技的魅力,轻松开启未来,华为ai身材
SEO更多-让你的企业站点在搜索引擎中脱颖而出,如何结交seo大神
如何识别文章是否由AI写作:技巧与方法解析
文章AI思维导图自动生成助力创作的智慧之源
SEM有哪几个平台?数字营销的多元选择,AI怎么取消移动间距
如何用AI写公众号文章?让创作更高效、更轻松
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
seo需要什么部门,seo主要干什么 ,ai接入仪器
ChatGPT免费版下载:智能对话助手带来的全新体验,电脑怎么下载Ai微认证
为什么说seo这么重要,seo重要吗 ,ai19920403
SEO王:掌控搜索引擎优化的至高法则,助力企业飞速腾飞,网站动作优化在哪里下载
ChatGPT4账号共享-让AI助力你的学习与工作,轻松提升效率,ai巨无霸
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱