js代码 :xmlHttp; //定义一个全局变量
var currentID=1;//设置当前选中ID,如果此ID不存在则会发生js错误
//类别显示主函数
//cid--子类别所在层id
//id --类别id
//pid--[+]和[-]图标id
//fid--类别图标id
function DivDisplay(cid,id,pid,fid)
{
if (GetId(cid).style.display=='') //子类别不显示时图标显示控制
{
GetId(cid).style.display='none';
GetId(pid).src = 'images/closed.gif';
GetId(fid).src = 'images/folder.gif';
}
else //展开子类别时的操作
{
GetId(cid).style.display='';
GetId(pid).src = 'images/opened.gif';
GetId(fid).src = 'images/folderopen.gif';
if (GetId(cid).innerHTML==''||GetId(cid).innerHTML=='正在提交数据...')
{
GetId(cid).innerHTML='';
ShowChild(cid,id); //调用显示子类别函数
}
}
}
//与上一个函数作用相同,只作用在最后一个类别
function DivDisplay2(cid,id,pid,fid)
{
if (GetId(cid).style.display=='')
{
GetId(cid).style.display='none';
GetId(pid).src = 'images/lastclosed.gif';
GetId(fid).src = 'images/folder.gif';
}
else
{
GetId(cid).style.display='';
GetId(pid).src = 'images/lastopen.gif';
GetId(fid).src = 'images/folderopen.gif';
if (GetId(cid).innerHTML==''||GetId(cid).innerHTML=='正在提交数据...')
{
GetId(cid).innerHTML='';
ShowChild(cid,id);
}
}
}
//类别添加函数
//id--类别id
function ClassAdd(id){
if (GetId("p"+id).src.indexOf("last")>0){ //最后一个类别时的添加操作
if (!GetId("p"+id).onclick){
GetId("p"+id).οnclick=function (){DivDisplay2("c"+id,id,"p"+id,"f"+id);}; //为[+]和[-]添加单击事件
GetId("s"+id).οndblclick=function (){DivDisplay2("c"+id,id,"p"+id,"f"+id);}; //为显示类别文字的span添加双击事件
GetId("p"+id).src = 'images/lastopen.gif';
}
}
else{
if (!GetId("p"+id).onclick){ //不为最后一个类别的添加操作
GetId("p"+id).οnclick=function (){DivDisplay("c"+id,id,"p"+id,"f"+id);};
GetId("s"+id).οndblclick=function (){DivDisplay("c"+id,id,"p"+id,"f"+id);};
GetId("p"+id).src = 'images/opened.gif';
}
}
GetId("c"+id).style.display='';
ShowChild("c"+id,id);
}
//类别修改函数
function ClassEdit(id,classname){
GetId("s"+id).innerHTML=classname;
}
//有多个子类别的类别的删除函数
function ClassDel(id){
ShowChild("c"+id,id);
CurrentSelect(currentID,id)
BrowseRight(id);
}
//只有一个子类别的类别的删除函数
function ClassDel1(id){
if (GetId("p"+id).src.indexOf("last")>0){ //当类别是当前类别的最后一个类别时
GetId("p"+id).style.cursor="cursor"; //设置图标的鼠标经过样式
GetId("p"+id).οnclick=function (){}; //因为只有一个子类别删除后就不再有子类别,故将图标单击事件修改为空函数
GetId("s"+id).οndblclick=function (){}; //同上
GetId("p"+id).src = 'images/lastnochild.gif'; //图标设置
}
else{
GetId("p"+id).style.cursor="cursor";
asp+ajax无限级分类树型结构
最新推荐文章于 2021-08-05 15:19:37 发布
本文介绍如何使用ASP和AJAX技术实现无限级分类的树型结构,包括显示、添加、修改和删除类别的功能。通过JS代码展示了DivDisplay和DivDisplay2函数用于控制分类的展开和折叠,以及处理单击和双击事件。同时,通过Ajax处理函数ShowChild实现了异步加载子类别数据。此外,还展示了ASP代码,定义了一个Cls_Leibie类,包含属性和方法用于数据库操作,如添加、删除和修改类别。
摘要由CSDN通过智能技术生成