下拉列表两级连动的新方法(二)
来源:asp之家 发布时间:2009-06-04 18:22:00
下面代码即是VBScript代码在服务器端编译后的显示内容,如果我们把这段代码保存成静态文件(HTML)或JS文件,那么上一篇提出的问题就迎刃而解了。
<script language = "JavaScript">
var onecount;
subcat = new Array();
subcat[0] = new Array('娱乐频道',117,0,'04',1,'True');
subcat[1] = new Array('娱乐排名',183,117);
subcat[2] = new Array('综合娱乐',184,117);
subcat[3] = new Array('在线视听',185,117);
subcat[4] = new Array('时尚前沿',186,117);
subcat[5] = new Array('吃喝玩乐',187,117);
subcat[6] = new Array('艺术欣赏',188,117);
subcat[7] = new Array('奇闻趣事',189,117);
subcat[8] = new Array('美食天地',190,117);
subcat[9] = new Array('运动健身',191,117);
subcat[10] = new Array('宠物世界',192,117);
subcat[11] = new Array('美容保健',193,117);
subcat[12] = new Array('休闲购物',194,117);
subcat[13] = new Array('动漫卡通',195,117);
subcat[14] = new Array('明星工厂',196,117);
subcat[15] = new Array('服装服饰',197,117);
subcat[16] = new Array('快乐童年',198,117);
subcat[17] = new Array('休闲读物',199,117);
subcat[18] = new Array('休闲游戏',200,117);
subcat[19] = new Array('其它娱乐',202,117);
subcat[20] = new Array('我的空间',253,0);
subcat[21] = new Array('行业展示',114,0);
subcat[22] = new Array('行业排名',121,114);
subcat[23] = new Array('综合行业',122,114);
subcat[24] = new Array('汽车',123,114);
subcat[25] = new Array('房地产',124,114);
subcat[26] = new Array('IT',125,114);
subcat[27] = new Array('IT排名',148,125);
subcat[28] = new Array('综合IT',149,125);
subcat[29] = new Array('计算机',150,125);
subcat[30] = new Array('手机',151,125);
subcat[31] = new Array('数码产品',152,125);
subcat[32] = new Array('电子',153,125);
subcat[33] = new Array('通信',154,125);
subcat[34] = new Array('软件',155,125);
subcat[35] = new Array('广电',156,125);
subcat[36] = new Array('工控产品',157,125);
subcat[37] = new Array('系统集成',158,125);
subcat[38] = new Array('信息服务',160,125);
subcat[39] = new Array('传感器',232,125);
subcat[40] = new Array('网站服务',237,125);
subcat[41] = new Array('其它IT',159,125);
subcat[42] = new Array('家用电器',126,114);
subcat[43] = new Array('纺织',127,114);
subcat[44] = new Array('金融',128,114);
subcat[45] = new Array('食品',129,114);
subcat[46] = new Array('电信',130,114);
subcat[47] = new Array('生活用品',131,114);
subcat[48] = new Array('医药保健',132,114);
subcat[49] = new Array('礼品玩具',133,114);
subcat[50] = new Array('办公用品',134,114);
subcat[51] = new Array('能源',135,114);
subcat[52] = new Array('物流',136,114);
subcat[53] = new Array('机械',137,114);
subcat[54] = new Array('环保',138,114);
subcat[55] = new Array('化工',139,114);
subcat[56] = new Array('农产品',140,114);
subcat[57] = new Array('印刷包装',141,114);
subcat[58] = new Array('媒体广告',142,114);
subcat[59] = new Array('公共安全',144,114);
subcat[60] = new Array('图书音像',145,114);
subcat[61] = new Array('工业产品',146,114);
subcat[62] = new Array('其他行业',147,114);
subcat[63] = new Array('商业服务',115,0);
subcat[64] = new Array('资讯频道',118,0);
subcat[65] = new Array('教育频道',119,0);
subcat[66] = new Array('就业频道',120,0);
subcat[67] = new Array('交友频道',250,0);
subcat[68] = new Array('商业机会',251,0);
subcat[69] = new Array('大众点评',252,0);
subcat[70] = new Array('旅游频道',116,0);
subcat[71] = new Array('体育频道',260,0);
subcat[72] = new Array('科技频道',261,0);
subcat[73] = new Array('数码频道',262,0);
subcat[74] = new Array('健康频道',263,0);
subcat[75] = new Array('汽车频道',264,0);
subcat[76] = new Array('房产频道',265,0);
subcat[77] = new Array('时尚频道',266,0);
subcat[78] = new Array('手机频道',267,0);
subcat[79] = new Array('100名人榜',257,0);
subcat[80] = new Array('100品牌榜',256,0);
onecount=81;
</script>
好,那们就要用到ASP中的FSO组件了--生成一个新的文件。
我们现在用ASP来生成一个JS文件:
set fso=server.CreateObject("scripting.filesystemobject")
path=server.MapPath("/") //转换为物理路径
Set fout = fso.CreateTextFile(Path & "\tree.js",true) //生成tree.js文件,如果原文件存在,即覆盖原文件
fout.WriteLine "var onecount;"
fout.WriteLine "subcat = new Array();"
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from tree ",conn,1,1
count = 0
do while not rs.eof
fout.WriteLine "subcat["&count&"] = new Array('"& rs("名称")&"',"& rs("ID号")&","& rs("上级ID")&");")
count = count + 1
rs.movenext
loop
rs.close
fout.WriteLine "onecount="&count&";"
fout.close
set fout=nothing
set fso=nothing
OK!静态文件已经生成了,现在就是调用了。在相应的代码中调用此文件即可,如下:
function start()
{
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][2] == 0)
{ //一级分类
document.myform.aclass.options[document.myform.aclass.length] = new Option(subcat[i][0], subcat[i][1]);
}
}
}
function changelocation(locationid) //两级联动
{
document.myform.nclass.length = 0;
var locationid=locationid;
var i,j;
for (i=0;i < onecount; i++)
{
if (subcat[i][2] == locationid)
{ //二级分类
document.myform.nclass.options[document.myform.nclass.length] = new Option(subcat[i][0], subcat[i][1]);
}
if (document.myform.nclass.length == 0)
{
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.myform.nclass.options[document.myform.nclass.length] = new Option(subcat[i][0], subcat[i][1]);
}
}
}
}
<body>...</body>中的代码如下:
<script language="jscript" src="tree.js"></script>
一级分类:
<select name="aclass" size="1" id="aclass" style="width:80px" onChange="changelocation(document.myform.aclass.options[document.myform.aclass.selectedIndex].value)" class="wenbenkuang">
<option value="" selected>请选择</option>
</select>
二级分类:
<select name="nclass" class="wenbenkuang" style="width:80px" onChange="change(document.myform.nclass.options[document.myform.nclass.selectedIndex].value)" >
<option value="" selected>请选择</option>
</select>
至此,所有工作已经结束了,这种方法减少了服务器的压力,也提高了访问速度。对于类别越多的代码,其访问速度越明显。
猜你喜欢
- 该域名查询系统写的很简单,只是实现了功能使用XmlHttp来获取远程查询结果,实际上就是小偷程序!相关推荐:域名注册情况查询/
- 如何阻止别人非法链接你网站的图片,防盗链?getimage.asp<% Option ExplicitDim&nb
- ASP从发布至今已经7年了,使用ASP技术已经相当成熟,自从微软推出了ASP.NET之后就逐渐停止了对ASP版本的更新。但是由于有很多人仍然
- 此前piscdong已经做过一次评测了,这次的Beta正式推出,我也来参与一下.当回小白鼠吧.新的界面设计非常让人兴奋750){this.r
- 一个很简单的画像素画的小工具,有意思的地方在于可以把画的图案保存成数组,以方便之后快速还原出原图..<!DOCTYPE html PU
- 看到了很多关于如何读出图片的长度的高度的方法,其实都不实用,大多都是通过图片的大小来判断的,图片的种类众多,通过大小来判断难免要制造很多的代
- 我想从文件读数据的话,要比直接从数据库快一些吧(个人观点),昨天测试了读出6000条新闻,读数据库用了23579毫秒,读文件只用了123毫秒
- XML有很多相关的技术,将这些技术结合起来,才能充分发挥XML的强大功能。这些技术包括:Xlink与Xpointer(设置XML的超链接)、
- 有时候,我们需要替换指定标签外的内容,而保留标签里面的内容不替换。比如当我们要在浏览器中显示出编辑器显示的原始格式时、需要将普通换行符“\n
- <base href="http://digi.tech.qq.com/images/ld/2007/1022/
- 表中主键必须为标识列,[ID] int IDENTITY (1,1)1.分页方案一:(利用Not In和SELECT TOP分页)语句形式:
- 在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钩的。但效率又是我们所追求的,如果是像原来那样把所
- 我们提倡无论何时都尽可能地使用CSS,这样我们更容易取得成功.现在浏览器对CSS的支持已经非常好,肯定足以让你用来控制你的网页布局与排版.但
- LoadRunner监控MySQLhttp://www.docin.com/p-92272846.htmlAdvanced MySQL Pe
- 今天研究了些取access数据库随机记录问题,这是这我自己搜集整理的方法。大家有没有高见,可以告诉我,或者我总结的东东本身有误,也可以帮我修
- 一、首先从SQLServer中Error讲起,SQL中错误处理有些怪辟 错误级别同是16但结果都不同。select *
- 简介:设计稿尺寸标注与取色专用工具,适用于设计、界面开发与网页前端安装包仅700KB,全绿色独有的双模式切换可支持双屏显示器,一面设计,一面
- 当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下。首先
- 用法: 按住鼠标左键拖拽一个框后释放洗洗睡了<!DOCTYPE html public "-//W3C//DTD XHTML
- INI是微软Windows操作系统中的文件扩展名。这些字母表示初始化。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参