js实现两个下拉框联动

如题所述

基本方式有以下两种:
方式1:
给出菜单1的菜单数据,当点击某个菜单项后,把该项的值传给服务端,由服务端返回新的菜单数据到菜单2.
方式2:
菜单数据静态存储在js或者html元素中,当点击某个菜单项后,直接把相应的菜单数据到菜单2.

源代码你可以在百度搜索 "js下拉菜单 联动" 得到。来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-05
这类问题貌似蛮多的。
不过是这个纯HTML需要么?没有数据交互?与服务器数据交互得重新封装的。

下面是纯HTML用的JS。
<html>
请选择:
<select id="test2" onchange="setSel(this);">
<option value='1'>1</option>
<option value='2'>2</option>
</select>
注意这里:
<select id="test1">
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>2</option>
</select>

这里添加了(注意):
<select id="test3">

</select>

<script>

function setSel(obj){

var s=obj.value;
var f=document.getElementById("test1");
var obj=document.getElementById("test3");
/*循环 相应变的select*/
for(i=0;i<f.options.length;i++){
/*判断值相等的,也可以判断显示的f.options[i].test*/
if(f.options[i].value==s){
f.options[i].selected="selected";//选中
obj.options.add(new Option(f.options[i].text,f.options[i].value)); //这个兼容IE与firefox
}
}

}

</script>
</html>
第2个回答  2013-03-05
这个其实就是一个下拉框的 onChange事件,当你下拉框的值改变的时候就会触发这个事件,然后在这个事件里面写取值方法,然后赋值到新的下拉框。