JS自动生成三级级联菜单
来源:互联网 发布:求剑若此不亦惑乎 编辑:程序博客网 时间:2024/04/30 18:07
HTML代码:
<div id="CategorySelector"> <ul id="Category_LeftTag" class="Blank"> </ul> <ul id="Category_CenterTag" class="Blank"> </ul> <ul id="Category_RightTag" class="Blank"> </ul> </div>
JS代码:
var typeData;$.getJSON("../data/GetTypeData.aspx", { "resultType": "json" }, function(data, textStatus) { typeData = data; var arrayparent = new Array(); for (var i = 0; i < data.length; i++) { if (data[i].ParentId == 0) { arrayparent.push(data[i]); } } //添加一级标签 var parentDiv = document.getElementById("Category_LeftTag"); for (var j = 0; j <= arrayparent.length - 1; j++) { $('<li class="leftpanel" onclick="btnOK(this,1,' + arrayparent[j].id + ')" value="' + arrayparent[j].id + '" onmouseover="" onmouseout="mouseOut(this)">' + arrayparent[j].name + '</li>').appendTo(parentDiv); }} )//根据父ID获得子类function GetChildData(id, data) { var childData = new Array(); for (var i = 0; i < data.length; i++) { if (id == data[i].ParentId) { childData.push(data[i]); } } return childData;}//添加二级标签function spitShow(value) { var array = GetChildData(value, typeData); //alert(array.length); var centerDiv = document.getElementById("Category_CenterTag"); centerDiv.innerHTML = ''; if (array.length > 0) { for (var j = 0; j < array.length; j++) { $('<li class="centerpanel" onclick="btnOK(this,2,' + array[j].id + ')" value="' + array[j].id + '" onmouseover="" onmouseout="mouseOut(this)">' + array[j].name + '</li>').appendTo(centerDiv); } } var rightDiv = document.getElementById("Category_RightTag"); rightDiv.innerHTML = '';}//添加三级标签 class="Selected" function thspitShow(value) { var array = GetChildData(value, typeData); //alert(array.length); var rightDiv = document.getElementById("Category_RightTag"); rightDiv.innerHTML = ''; if (array.length > 0) { for (var j = 0; j < array.length; j++) { $('<li class="rightpanel" onclick="btnOK(this,3,' + array[j].id + ')" value="' + array[j].id + '" onmouseout="mouseOut(this)">' + array[j].name + '</li>').appendTo(rightDiv); } }}//增加选择样式function mouseOut(obj) {}function btnOK(obj, level, value) { switch (level) { case 1: $(".leftpanel").removeClass("Selected"); spitShow(value); break; case 2: $(".centerpanel").removeClass("Selected"); thspitShow(value); break; case 3: $(".rightpanel").removeClass("Selected"); break; default: alert("OK"); break } $(obj).addClass("Selected"); $("#selectType").attr("value", value); var typeNameHtml = $("#typeFullName"); if (typeNameHtml.length>0) { var typeName = $(".Selected"); if (typeName.length>0) { var fullName = ""; for (var i = 0; i < typeName.length; i++) { if (i != typeName.length - 1) { fullName += typeName[i].innerHTML + '/'; } else { fullName += typeName[i].innerHTML; } } $("#typeFullName").attr("value", fullName); } }}
CSS代码:
body *{ margin:0; padding:0; } #CategorySelector{ clear:both; width:450px; height:252px; background-color:#FFF; margin-bottom:8px; margin:0 auto; } #CategorySelector ul{ margin:0 3px 0 0; padding:0; border:1px solid #CCC; float:left; width:189px; height:250px; overflow:auto; } #CategorySelector ul.Blank{ background-color:#F6F6F6; } #CategorySelector li{ list-style-type:none; width:auto; height:20px; margin:0 1px !important; margin /**/:0 1px 0 -15px; padding:0; border:1px solid #FFF; line-height:20px; color:#444; text-indent:3px; cursor:default; } #CategorySelector li.Selected { background-color:#E5F7F7; border:1px solid #ADD8E6; color:#47A0DB; } #CategorySelector li.IsParent{ background-image:url(/uploads/allimg/1110/publishitem_subcate_arrow.gif); background-position:99% 50%; background-repeat:no-repeat; } #CategorySelector li.RecentUsed{ color:#170; }
- JS自动生成三级级联菜单
- 级联菜单(三级)JS
- JS实现三级级联菜单
- JavaScript 三级级联菜单
- 三级级联菜单
- 年月日三级级联菜单
- 地区三级级联菜单
- 三级级联菜单
- ASP自动生成级联菜单(乱)
- js生成无刷新省市级联菜单
- js三级级联
- 三级级联下拉菜单实现
- JSP实现三级菜单级联
- javaScript实现三级菜单级联
- js 省市县三级级联
- 纯JS省市区三级级联
- 自动收缩的JS+CSS三级折叠导航菜单
- 天气预报的webservice+三级无刷新级联菜单客户端(js+xmlhttp实现
- 不要对知识与技术的遗忘感到焦虑
- 第五周实验报告 任务一
- 经典SQL语句大全
- const关键字的用法
- 多文件组织项目
- JS自动生成三级级联菜单
- h264解码器,s3c6410硬件mfc解码分析-H264
- STL list链表的用法详解
- 深入探讨MFC消息循环和消息泵
- STL vector 容器介绍
- 字符编码方式介绍
- 详解U-Boot中printf函数的实现
- 回调
- 【任务1】设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化