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

Javascript
jquery 交替为表格添加样式的代码
jquery下操作HTML控件的实现代码
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
海量经典的jQuery插件集合
JavaScript获取鼠标坐标的函数(兼容IE、FireFox、Chrome)
JavaScript关于select的相关操作说明
jQuery的一些特性和用法整理小结
用jQuery扩展自写的 UI导航
JQuery 引发两次$(document.ready)事件
javascript实现的基于金山词霸网络翻译的代码
Span元素的width属性无效果原因及解决方案
javascript 不间断的图片滚动并可点击
利用onresize使得div可以随着屏幕大小而自适应的代码
extjs 为某个事件设置拦截器
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
javascript 特性检测并非浏览器检测
20个非常有用的PHP类库 加速php开发
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
AJAX的跨域与JSONP(为文章自动添加短址的功能)
JavaScript学习笔记(十)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 191 ::
收藏到网摘: 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>