不刷新页面动态更新select选项,实现两个select相互操作

王朝html/css/js·作者佚名  2006-01-08
宽屏版  字体: |||超大  

在网上很多网友问,关于实现在一个select列表中选择一个项目,在另一个select选项动态更新的情况。其实他的原理很简单的,只有记住几个主要的要点就可以。

下面的例子给出了一个完整的演示。由于看例子比我解说更容易理解,所以我就废话少说,把代码贴出,希望对大家需要的网友有一点帮助。

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<META NAME="Generator" CONTENT="EditPlus">

<META NAME="Author" CONTENT="">

<META NAME="Keywords" CONTENT="">

<META NAME="Description" CONTENT="">

<style type="text/css">

body{font-family:Courier New, Courier}

select{font-size:8pt;font-family:Courier New, Courier}

input{font-size:8pt;font-family:Courier New, Courier}

</style>

<SCRIPT LANGUAGE="JavaScript">

<!--

var Name=new Array(3);

var Value=new Array(3);

Name[1]=new Array("Zosatapo1","Zosatapo2","Zosatapo3","Zosatapo4");

Name[2]=new Array("Reic Yang1","Reic Yang2","Reic Yang3","Reic Yang4");

function change()

{

selIndex=document.all("test").selectedIndex;

if(document.all("test").selectedIndex==0)

return;

for(i=document.all("test").options.length-1;i>-1;i--)

{

document.all("test").options.remove(i);

}

for(i=0;i<Name[selIndex].length;i++)

{

document.all("test").options.add(new Option(Name[selIndex][i],"name"+i));

}

}

function changeEx(){

for(i=document.all("sub").options.length;i>0;i--)

{

document.all("sub").options.remove(i-1);

}

if(document.all("main").selectedIndex==0){

document.all("sub").options.add(new Option("==========","-1"));

return;}

selIndex=document.all("main").selectedIndex;

for(i=0;i<Name[selIndex].length;i++)

{

document.all("sub").options.add(new Option(Name[selIndex][i],"name"+i));

}

}

function reset(){

for(i=document.all("test").options.length-1;i>-1;i--)

{

document.all("test").options.remove(i);

}

document.all("test").options.add(new Option("==========","-1"));

document.all("test").options.add(new Option("Zosatapo","1"));

document.all("test").options.add(new Option("Reic Yang","2"));

}

function display(object){

alert(object.options[object.selectedIndex].text+" "+object.options[object.selectedIndex].value);

}

//-->

</SCRIPT>

</HEAD>

<BODY BGCOLOR="#FFFFFF">

First Sample:<br><font color="blue">All items will change After you Selected!</font><br>

<SELECT id="test" onchange="change();">

<option value="-1" selected>==========

<option value="1">Zosatapo

<option value="2">Reic Yang

</SELECT><input name="Reset Select" type="button" value="Reset Select" onclick="reset();" ><br><br>

Second Sample:<br><font color="blue">You selected Item in Main Select will change the Sub select Content!</font><br>

Main Select:<SELECT id="main" onchange="changeEx();">

<option value="-1" selected>==========

<option value="1">Zosatapo

<option value="2">Reic Yang

</SELECT>

Sub Select:<SELECT id="sub" onchange="display(this);">

<option value="-1" selected>==========

</SELECT><br><br>

</BODY>

</HTML>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有