一级分类 二级分类 三级分类实现

dzy_pb 2006-11-07 12:13:16
我想在一个text里面显示一级分类,如果点一下一级分类,将在另外一个text里面显示二级分类,在点一下二级分类,将在第三个text里面显示三级分类‘怎么实现》》》???
例如::::企业资源(按行业划分)>>计算机>>计算机
...全文
1325 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzy_pb 2006-11-07
  • 打赏
  • 举报
回复
谢谢!!我来看看怎么样
little06 2006-11-07
  • 打赏
  • 举报
回复
传统的HTML页面中连动下拉框采用了两种方法:1)直接将下拉框中的内容hardcode于html的javascript中,调用javascript函数循环写入下拉框中。这种方法不适用于下拉框内容经常改变的情况。因为数据源和javascript程序写死在同一页面。

<html>
<head>
<title>List</title>
<meta http-equiv="Content-Type" content="text/html; c
harset=gb2312">
<script LANGUAGE="javascript">
<!--
var onecount;
onecount=0;

subcat = new Array();
subcat[0] = new Array("徐汇区","01","001");
subcat[1] = new Array("嘉定区","01","002");
subcat[2] = new Array("黄浦区","01","003");
subcat[3] = new Array("南昌市","02","004");
subcat[4] = new Array("九江市","02","005");
subcat[5] = new Array("上饶市","02","006");

onecount=6;

function changelocation(locationid)
{
document.myform.smalllocation.length = 0;

var locationid=locationid;
var i;
document.myform.smalllocation.options[0] = new Option('====所有地区====','');
for (i=0;i <onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.myform.smalllocation.options[document.myform.smalllocation.length]
= new Option(subcat[i][0], subcat[i][2]);
}
}

}

//-->
</script>
</head>
<body>
<form name="myform" method="post">
<select name="biglocation"
onChange="changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value)">
<option value="01" selected>上海</option>
<option value="02">江西</option>
</select>
<select name="smalllocation">
<option selected value="">==所有地区==</option>
</select>
</form>
<script LANGUAGE="javascript">
<!--
changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value);
//-->
</script>
</body>
</html>


2)javascript 直接读取数据库,取数据库中的记录写入javascript中,然后和第一种方法一样,调用javascript函数循环写入下拉框中。此方法将数据源与javascript分开,但,公开数据库的连接,从安全角度说,没有多少实用价值。


我的方法是将下拉框中的数据放在XML文件中,用javascript读XML文件,取得下拉框中的内容。

HTML 文件如下:
<!-- myfile.html -->

<html>
<head>
<script language="JavaScript" for="window" event="onload">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var i=0;
var j=0;
var subclass_name="";
loadXML();
function loadXML(){
xmlDoc.async="false";
xmlDoc.load("account.xml");
xmlObj=xmlDoc.documentElement;
nodes = xmlDoc.documentElement.childNodes;
document.frm.mainclass.options.length = 0;
document.frm.subclass.options.length = 0;

for (i=0;i<xmlObj.childNodes.length;i++){
labels=xmlObj.childNodes(i).getAttribute("display_name");
values=xmlObj.childNodes(i).text;
document.frm.mainclass.add(document.createElement("OPTION"));
document.frm.mainclass.options[i].text=labels;
document.frm.mainclass.options[i].value=values;

}

}


</script>

<script language="JavaScript" >
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var i=0;
var j=0;

function deleteOption() {

}

function setsubclass(main){
var is_selected="N";
if (document.frm.subclass.options.length!=0) {
for (i=0;i<=document.frm.subclass.options.length;i++)
document.frm.subclass.options[i]=null ;
}
//重复才有效
if (document.frm.subclass.options.length!=0) {
for (i=0;i<=document.frm.subclass.options.length;i++){
document.frm.subclass.options[i]=null ;
document.frm.subclass.options.remove(i);
}
}


for (i=0;i<xmlObj.childNodes.length;i++){

var values="";
var lables="";

if (is_selected=="Y") return;
labels=xmlObj.childNodes(i).getAttribute("display_name");
values=xmlObj.childNodes(i).text;
//alert(labels+ " | "+main);
if (labels==main){

is_selected="Y";

for (j=0;j<xmlObj.childNodes(i).childNodes.length;j++){
//subclass_name="document.frm.subclass";
labels=xmlObj.childNodes(i).childNodes(j).getAttribute("display_name");
values=xmlObj.childNodes(i).childNodes(j).text;
//alert(values);
document.frm.subclass.add(document.createElement("OPTION"));
document.frm.subclass.options[j].text=labels;
document.frm.subclass.options[j].value=values;

}

}

}
}
</script>

<title>在HTML中调用XML数据</title>
</head>
<body bgcolor="#FFFFFF">
<FORM NAME="frm">
类型<SELECT NAME="mainclass" OnChange='setsubclass(this[selectedIndex].text)'></SELECT>
<option selected value="" ></option>
子类<SELECT NAME="subclass"></SELECT>
</form>
</body>
</html>

account.xml 如下:


<?xml version="1.0" encoding="GB2312"?>

<item>
<class display_name="未选定">
<subclass display_name="">Not Available</subclass>
</class>
<class display_name="95788主叫卡">
<subclass display_name="1152069589-1152069638">dangdang1</subclass>
<subclass display_name="1152081031-1152081080">dangdang2</subclass>
<subclass display_name="1152547201-1105254750">dangdang3</subclass>
<subclass display_name="1152548401-1152548700">dangdang4</subclass>
<subclass display_name="1152548701-1152549000">dangdang5</subclass>
<subclass display_name="1156000001-1156010000">dangdang6</subclass>
</class>
<class display_name="网上注册">
<subclass display_name="1152000001-1152001000">zhuce_user1</subclass>
<subclass display_name="1151001000-1151005000">zhuce_user2</subclass>
</class>
<class display_name="通讯">
<subclass display_name="1156030001-1156080000">tongxun</subclass>
</class>

</item>

此方法将数据源与javascript程序分开,适合经常变化的数据源。xmlDoc.load中可以直接调用URL参数,读取远程XML,实现松耦合。以上应用在IE6.0中通过。不足之处是在去除下拉框列表内容时需要

figoren 2006-11-07
  • 打赏
  • 举报
回复
up
免费试听地址:B站搜索JeeGit观看《JeeSite4.x数据权限教程》、《JeeSite1.2.7系列基础教程》、《JeeSite4.x系列基础教程》等相关课程! 郑重声明:购课前,请认真听完第一章 课程简介 建议实战人群直接听:第九章、第十章 学生人群、刚入门:全听       数据权限主要讲解内容包含第一章 课程简介31.1 课程目标31.2 适用人群31.3 课程简介31.4 环境要求31.5 课程知识点大全31.6 课程售价31.7 购课声明31.8 资源清单31.9 售后方式41.10 讲师介绍4第二章 权限基础42.1 权限模型概述4第三章 JeeSite权限管理模型123.1 JeeSite1.2.7 权限管理模型123.2 JeeSite4.x 权限管理模型123.3 JeeSite4.x权限设计的扩展13第四章 用户管理144.1 JeeSite4.x内置用户类型144.1.1 用户管理思路144.1.2 网站会员、员工、单位、个人登录视图配置154.2 用户数据权限类型164.3实战训练、调试、日志查看16第五章 机构管理16第六章 角色管理186.1 JeeSite4.x角色管理概述186.2 JeeSite4.x越级授权与菜单权重186.3 JeeSite4.x 越级授权可能存在的隐患极其解决方案196.4用户表如何区分非管理员、系统管理员、二级管理员206.5 角色权限注意事项206.6 角色授权数据范围使用注意事项216.7 为何用户不设置员工权限无效?236.8 岗位管理与角色分类的岗位分类与角色分类有何区别?23第七章 二级管理员23第八章 系统管理员238.1 系统管理员238.2 总结:何时使用超级管理员、系统管理员、二级管理员?23第九章 Jeesite数据权限调用239.1 JeeSite4.x数据调用基础239.2 JeeSite4.x 实现数据列权限推荐解决方案249.3多数源模式下数据权限bug简易解决方案249.4 JeeSite4.x 自定义扩展数据权限249.5支持全球地区、全球企业、全球机构、全球部门授权24第十章 JeeSite数据权限实战2410.1 案例一2410.2 案例二2410.3 案例三2510.4 案例四2510.5 案例五25第十一章 JeeSite4.x常见问题解答251.1数据权限管理的代码会公开吗,购买了能看吗?251.2 JeeSite数据权限教程是Thinkgem录制的吗?25第十二章 参考阅读2612.1、JeeSite官方文档2712.2、美国国家标准与技术研究院2712.3、中国国家标准化管理委员会2712.4、ITSEC欧洲安全评价标准2812.5、百度学术2812.6、开源框架2912.6.1 JeeSite2912.6.2 Casbin2912.6.3 Eladmin2912.6.4 Spring-boot-demo2912.6.5 Jeeplatform3012.6.6 Pig3012.6.7 Jeecg-boot3012.6.8 Jfinal3012.6.9 Guns3112.6.10 Zheng3112.6.11 Cloud-Platform3112.7 博文资源31

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧