喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: 帮忙修改其中的BUG(二级联动)  
 
zww23 (zww23)
中级会员
Rank: 3Rank: 3
一般会员



UID 53813
精华 0
积分 427
帖子 343
金钱 427 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-11-24
状态 离线
帮忙修改其中的BUG(二级联动)

当选了1系列的后,再选2系列,那在第二级那里也会出现1系列的东西。

<?php
<form enctype="multipart/form-data" action="" name="frm" method="post">

    <
select name="s1" onChange="redirec(document.frm.s1.options.selectedIndex)">
      <
option selected="selected">第一级</option>
      <
option value="1">1系列</option>
      <
option value="2">2系列</option>
      <
option value="3">3系列</option>
      <
option value="4">4系列</option>
      <
option value="5">5系列</option>
      <
option value="6">6系列</option>
    </
select>
    
    <
select name="s2">
     <
option selected="selected">第二级</option>
    </
select>
</
form>
          <
script language="javascript">
//获取一级菜单长度
var select1_len document.frm.s1.options.length;
var 
select2 = new Array(select1_len);

//把一级菜单都设为数组
for (i=0i<select1_leni++) 
{
 
select2[i] = new Array();
}

//定义基本选项
select2[0][0] = new Option("请选择第一级"" ");

select2[1][0]=new Option("1-1系列","1");
select2[1][1]=new Option("1-2系列","2");
select2[1][2]=new Option("1-3系列","3");
select2[1][3]=new Option("1-4系列","4");
select2[1][4]=new Option("1-5系列","5");
select2[1][5]=new Option("1-6系列","6");

select2[2][0]=new Option("2-1系列","7");
select2[2][1]=new Option("2-2系列","8");
select2[2][2]=new Option("2-3系列","9");

select2[3][0]=new Option("3-1系列","10");
select2[3][1]=new Option("3-2系列","11");
select2[3][2]=new Option("3-3系列","12");
select2[3][3]=new Option("3-4系列","13");

select2[4][0]=new Option("4-1系列","14");

select2[5][0]=new Option("5-1系列","15");
select2[5][1]=new Option("5-2系列","16");
select2[5][2]=new Option("5-3系列","17");

select2[6][0]=new Option("6-1系列","18");
select2[6][1]=new Option("6-2系列","19");
select2[6][2]=new Option("6-3系列","20");
select2[6][3]=new Option("6-4系列","21");


//联动函数
function redirec(x)
{
 var 
temp document.frm.s2

 for (
i=0;i<select2[x].length;i++)
 {
  
temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);
 }
 
temp.options[0].selected=true;

}
</script>
?>
2006-7-13 04:59 PM#1
查看资料  Blog  发短消息  顶部
 
km3945 (km3945)
版主
Rank: 7Rank: 7Rank: 7
版主


UID 46538
精华 0
积分 1327
帖子 1289
金钱 1327 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-11-8
状态 离线
[推荐阅读] 正则问题请教高手


<?php
<HTML><HEAD>
<
TITLE>无标题文档</TITLE>
<
META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<
STYLE TYPE="text/css"><!--
BODYTDSELECT{FONT-SIZE:9ptFONT-FAMILY:"宋体";}
--></
STYLE>
<
script language="javascript" defer>
var 
aData1 = new Array();
 
aData1[0] = ['北京''北京一|1''北京二|2''北京三|3'];
 
aData1[1] = ['上海''上海一|4''上海一|5''上海一|6'];
 
aData1[2] = ['深圳''深圳一|7''深圳一|8''深圳一|9'];
var 
aData2 = new Array();
 
aData2[0] = ['电脑''电脑一|1''电脑一|2''电脑一|3'];
 
aData2[1] = ['冶金''冶金一|4''冶金一|5''冶金一|6'];
 
aData2[2] = ['建筑''深圳一|7''深圳一|8''冶金一|9'];
/*
数据格式如上,可以自行用后台生成该数组.如:
'北京一|1'
"|"号前面是文本,之后则是对应的VALUE.
*/

/*该程序以封装,自行按需要修改,扩展.*/
function TowSelect(){
 
this.Dadas='';
 
this.objSEL1=form1.s1;
 
this.objSEL2=form1.s2;
 
this.Window_Onload=function(){  //初始化北京地区数据
  
for (var i=0i<this.Dadas.lengthi++){
   
this.objSEL1.options.add(new Option(this.Dadas[i][0], i));
   }
  
this.Select_Select(0);
 };
 
this.Select_Select=function(v){  //用于按S1传过来的值初始S2的列表
  
this.objSEL2.options.length 0;
  for (var 
i=1i<this.Dadas[v].lengthi++)
   
this.objSEL2.options.add(new Option(this.Dadas[v][i].split('|')[0], this.Dadas[v][i].split('|')[1]));
 };
 
this.getValue=function(){   //获取S1和S2的所选定的值
  
return {
   
S1Valuethis.objSEL1.value,
   
S2Valuethis.objSEL2.value,
   
S1Text:  this.objSEL1.options[this.objSEL1.selectedIndex].text,
   
S2Text:  this.objSEL2.options[this.objSEL2.selectedIndex].text
   
}
 };
};
var 
TS=new TowSelect(); //实例化地区数据
 
TS.Dadas=aData1;
 
TS.Window_Onload();
</script>
</HEAD>

<BODY bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="50">
<center>
 <form name="form1">
  <DIV>
   <select name="s1" size="1" onChange="TS.Select_Select(this.value);"></select>
   <select name="s2" size="1"></select>
   <input type="button" value="显示当前选定的value" onclick="alert('S1='+TS.getValue().S1Value+' , S2='+TS.getValue().S2Value)" />
   <input type="button" value="显示当前选定的text " onclick="alert('S1='+TS.getValue().S1Text+' , S2='+TS.getValue().S2Text)" />
  </DIV>
 </form>
</center>
</BODY>
</HTML>
?>
2006-7-14 09:26 AM#2
查看资料  Blog  发短消息  QQ . .   顶部
 
zww23 (zww23)
中级会员
Rank: 3Rank: 3
一般会员



UID 53813
精华 0
积分 427
帖子 343
金钱 427 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-11-24
状态 离线
[推荐阅读] 这种播放器是如何实现的?
非常感谢!!!!!
2006-7-14 02:37 PM#3
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.034850 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP