网站首页 | 域名注册 | 虚拟空间 | 企业邮局 | 网站建设 | 网站推广 | 服务器合租 | 电子杂志 | 站长工具 
杭州网络公司、网站建设—奇灵网络
  文章 酷站 图库 下载  
 
搜索
  热门搜索: 素材图库 美女 导航条 求职简历 矢量 模板 特效 更多..
首   页 网络资讯 站长工具 站长必读 酷站欣赏 网页教程 css+div asp 站长赚钱 网站推广
  最新更新
 百度作弊网站定义和害处
 让百度重新收录你的网站的有效方…
 百度搜索联盟
 百度搜索技巧
 网站优化之服务器的选择
 最好的搜索引擎优化工具就是搜索…
 选择最佳关键词之10个技巧
 搜索引擎优化的最高境界是忘记搜…
 如何针对MSN搜索进行网站优化排名
 WEB2.0网站如何进行搜索引擎优化
  最新推荐
 黑蚂蚁互动
 新站快速收录,新手总结
 友情链接,其实很是伤人
 新式网站推广Web2.0的方法
 网络推广的流程步骤执行要务
 怎样推广电子杂志类网站\
 一个网站要怎样才能推广出去
 网站链接质量的判断方法
 百度主题封杀以下特征的行为
 Alexa常用的作弊方法总结
ASP+flash下拉列表(显示图片)
作者:佚名   文章来源:网络   点击数:   更新时间:2007-7-30 9:07:04 
在上一次我介绍了数据库与flash 连接方式.在这里,这一方面的我就不多说了....
还有ASP中的代码.我也略过不说.就只是贴出来...
<!--#include file="conn.asp"-->
<%
dim rsBiClass,outBigClass,outBigClassID
sql="select * from bigclass"
set rsBigClass=server.CreateObject("adodb.recordset")
rsBigClass.open sql,conn,1,1
do while not rsBigClass.eof 
outBigClass=outBigClass&rsBigClass("bigClass")&"/"
outBigClassID=outBigClassID&rsBigClass("id")&"/"
rsBigClass.movenext
loop
response.write ("outBigClass="&outBigClass&"&")
response.write ("outBigClassID="&outBigClassID)
rsBigClass.close
set BigClass=nothing
conn.close
set conn=nothing
%>

保存为readBigClass.asp
<!--#include file="conn.asp"-->
<%
dim bigid,outSmallClass
bigid=request.Form("bigid")
sql="select * from smallclass where bigid="&bigid
set rsSmallClass=server.CreateObject("adodb.recordset")
rsSmallClass.open sql,conn,3,3
do while not rsSmallClass.eof 
outSmallClass=outSmallClass&rsSmallClass("smallclass")&"/"
outSmallClassPic=outSmallClassPic&rsSmallClass("pic")&"/"
rsSmallClass.movenext
loop
response.write ("outSmallClass="&outSmallClass&"&")
response.write ("outSmallClassID="&outSmallClassPic)

rsSmallClass.close
set rsSmallClass=nothing
conn.close
set conn=nothing
%>

保存为readSmallClass.asp, 相信大家都看得懂这段ASP代码.如果不懂的话.跟帧后.我再注说明了.
--------------------------------------------------------------------------------
现在就进入到flash里面去编程了.
从组件中找现个下拉列表,拉入两个到场景中.将其分别命名为myBigCmb,mySmaCmb
在第一帧中写上:
System.useCodepage = true;
var readBigL = new LoadVars();//定义一个LoaVars类对像.
readBigL.load("readBigClass.asp");//加载readBigClass.asp页面.
readBigL.onLoad = function(su) {
if (su) {
  //加载readBigClass.asp成功
  _root.gotoAndPlay(2);
}
};
stop();
//这第二帧的大部分内容在上个帧子中都用到过.无非就是从数据库取出数据,把数据分别放进定义好的数组里面去.
第二帧:
var bigClassA = new Array();
var bigClassIDA = new Array();
for (i=0; i<readBigL.outBigClass.length; i++) {
bigClassA = readBigL.outBigClass.split("/", i);
bigClassIDA = readBigL.outBigClassID.split("/", i);
}
for (j=0; j<bigClassA.length; j++) {//这是把大类放进第一个下拉列表中.
myBigCmb.addItem({label:bigClassA[j], data:bigClassIDA[j]});//这句是为下拉列表添加数据,如果不是很清楚就找一下组件教程来学一下:)
}
intiItem = myBigCmb.selectedItem.data;//这是获得第一个下拉列表的最初显示的那个值,如果不加这个.那么.一运行那个flash,第二个下拉列表会没有值.
getSmallClass(intiItem);
//这个getSmallClass()是一个自定义函数.后面再介绍.它的功能就是从数据库中取得被选中的大类相对应的小类的值.把值取出来后再把其值赋到第二个下拉列表.
//--------大类的change----------------------------------------
my = {};
my.change = function(cmb) {//这是大类也就是第一个下拉列表的change事件.
bigidf = cmb.target.selectedItem.data;//获得第一个下拉列表中被选中的选项的data值.
getSmallClass(bigidf);
//这里再调用自定义函数.这里就是当大类一变,就从数据库中取出相对应的小类的值,同时把值取出来后再把其值赋到第二个下拉列表.
};
//--------从数据库里取得小类的值-----------------
function getSmallClass(bigidf) var smallClassSV = new LoadVars();
var smallClassLV = new LoadVars();
smallClassSV.bigid = bigidf;
//注意这里的写变量的方式用了smallClassSV.bigid,如果不加前面的smallClassSV,那么bigid的值就不会传到被加载的ASP文件里
smallClassSV.sendAndLoad("readSmallClass.asp", smallClassLV, "POST");
//这里用到了这个sendAndLoad方法来加载页页.同时把结果返回到smallClassLV类里面来.
smallClassLV.onLoad = function(su) {
//注意这里的onLoad 事件是smallClassLV的,而不是smallClassSV的(刚开始用这个方法时,就是这里卡了我很^_^久)
  if (su) {
   _global.smallClass = smallClassLV.outSmallClass;
   _global.smallClassID = smallClassLV.outSmallClassID;
   setSmallClass();
//这里调用了另一个自定义函数,这个函数的作用是为第二个下拉列表赋值,将smallClassLV接收来的数据放到第二个下拉列表中.
  } else {
   aa.text = "数据连接不成功";
  }
};
}
//----把小类的值放到下拉列表中----------------------------------------
function setSmallClass() {{//这个就是自定义函数.其作用就是为小类(第二个下拉列表)赋值 
//如果大家看得懂上面的,那么下面的想必是不用再作说明了吧...呵呵....
var smallClass = _global.smallClass;
var smallClassID = _global.smallClassID;
var smallClassA = new Array();
var smallClassIDA = new Array();
for (i=0; i<smallClass.length; i++) {
  smallClassA = smallClass.split("/", i);
  smallClassIDA = smallClassID.split("/", i);
}
mySmaCmb.removeAll();
//清除在这个下拉列表中的原来的值.
for (j=0; j<smallClassA.length; j++) {
  mySmaCmb.addItem({label:smallClassA[j], data:smallClassIDA[j]});
}
picname = mySmaCmb.selectedItem.data;//这个是取得第二个下拉列表的最始值.
loadpic(picname);//调用加载图片的函数.
}
//---------小类的change-------------------------------
mys = {};
mys.change = function(cmb) {
//这是小类的change事件
sid = cmb.target.selectedItem.data;//当小类的选中值(也就是selectedItem)发生改变时,取得小类的选中的data值.
loadpic(sid);//调用加载图片的值,小类一发生变化,那么相对应的显示的图片也是要变化的.
};
//-------------加载外部图片------------------------------
function loadpic(picname) {//这个就是加载图片的函数了.
_root.createEmptyMovieClip("picmc", 0);//创建一个空白影片剪辑.
_root.picmc._x = 200;
_root.picmc._y = 100;//设置空白影片的位置.
_root.picmc.loadMovie(picname);//加载图片,注意里面的picname是当调用这个函数时,所传进入进来的(其实就是图片名字)
}
myBigCmb.addEventListener("change", my);//添加下拉列表的change事件.
mySmaCmb.addEventListener("change", mys);
stop();
//OK,have a try!
教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(评论内容只代表网友观点,与本站立场无关!)
     姓 名:
     评 分: 1分 2分 3分 4分 5分
     评论内容:
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用动易网络服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。
  •   友情链接   
    奇灵网络  千宠网  易百看中国影音互动娱乐
    版权所有:杭州奇灵科技有限公司  Copyright:2007(C) All right reserved  电话:+86-0571-85521923
    地址:浙江省杭州市美都广场C座  浙ICP备07002666号