当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 不刷新页面动态更新select选项,实现两个select相互操作

Javascript
图片跟随的代码
对联广告js flash激活
用js怎么把&字符换成"&amp:"
动态加载js的几种方法
改进版:在select中添加、修改、删除option元素
关于搜索输入框
添加、删除HTML结点 & 上传图片预览
一个JavaScript继承的实现
this.clientWidth和this.offsetWidth两个有什么不同
实现iframe延时加载
document.styleSheets[0].disabled
一个级联菜单(IE ONLY),不过代码很精简!
xmlHTTP实例
有趣的思路~~JS仿 WINXP 注销桌面渐隐效果
Hutia 的 JS 代码集
PJ Blog修改-禁止复制的代码和方法
如何限制在一个表格里面禁止使用右键
怎样调用动态获取的自定义对象的方法
12个div逐个显示效果
挺酷的一个倒计时

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 263 ::
收藏到网摘: n/a

在网上很多网友问,关于实现在一个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>