<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
subcat[0] = new Array("D","1","1");
subcat[1] = new Array("E","1","2");
subcat[2] = new Array("F","1","3");
subcat[3] = new Array("G","3","4");
subcat[4] = new Array("H","3","5");
subcat[5] = new Array("T","3","6");
subcat[6] = new Array("M","2","7");
subcat[7] = new Array("O","2","8");
subcat[8] = new Array("P","2","9");
subcat[9] = new Array("Q","4","10");
subcat[10] = new Array("R","4","11");
subcat[11] = new Array("S","4","12");
onecount=12;
function changelocation(locationid)
{
document.myform.Nclassid.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{ if (subcat[i][1] == locationid)
{ document.myform.Nclassid.options[document.myform.Nclassid.length] = new Option(subcat[i][0], subcat[i][2]);
}
} document.myform.Nclassid2.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{ if (subcat[i][1] == (parseInt(locationid)+2))
{
document.myform.Nclassid2.options[document.myform.Nclassid2.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
<form method="post" name="myform" action="ru_query.asp">
<select name="classid" onChange="changelocation(document.myform.classid.options[document.myform.classid.selectedIndex].value)" size="1">
<option value="1">A </option>
<option value="2">B </option>
</select>
<select name="Nclassid">
<option selected value="">未指定条件 </option>
</select>
<select name="Nclassid2">
<option selected value="">未指定条件 </option>
</select>
</form>
var onecount;
onecount=0;
subcat = new Array();
subcat[0] = new Array("D","1","1");
subcat[1] = new Array("E","1","2");
subcat[2] = new Array("F","1","3");
subcat[3] = new Array("G","3","4");
subcat[4] = new Array("H","3","5");
subcat[5] = new Array("T","3","6");
subcat[6] = new Array("M","2","7");
subcat[7] = new Array("O","2","8");
subcat[8] = new Array("P","2","9");
subcat[9] = new Array("Q","4","10");
subcat[10] = new Array("R","4","11");
subcat[11] = new Array("S","4","12");
onecount=12;
function changelocation(locationid)
{
document.myform.Nclassid.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{ if (subcat[i][1] == locationid)
{ document.myform.Nclassid.options[document.myform.Nclassid.length] = new Option(subcat[i][0], subcat[i][2]);
}
} document.myform.Nclassid2.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{ if (subcat[i][1] == (parseInt(locationid)+2))
{
document.myform.Nclassid2.options[document.myform.Nclassid2.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
<form method="post" name="myform" action="ru_query.asp">
<select name="classid" onChange="changelocation(document.myform.classid.options[document.myform.classid.selectedIndex].value)" size="1">
<option value="1">A </option>
<option value="2">B </option>
</select>
<select name="Nclassid">
<option selected value="">未指定条件 </option>
</select>
<select name="Nclassid2">
<option selected value="">未指定条件 </option>
</select>
</form>
解决方案 »
- 求解一段js代碼詳細解釋,越詳細越好 謝謝
- 内部匿名函数如何调用外部函数的变量,求救!
- 刚学javascript问几个简单的问题
- javascript中gettime() settime()不理解怎么运用?
- js怎么实现鼠标滚动事件?
- ★★★100分★★★ 我用createRange()的pasteHTML方法插入"<time><input type='text'></input></time>"但是实际的代码里变成了"<INPUT></
- 不同的域名加载不同的文件头
- js获取url的参数????急!!!!
- JAVASCRIPT的下拉菜单中遇到的棘手问题,在线等~!
- 能不能在服务端根据需要动态创建客户端的<object>?
- 用previousSibling和nextSibling也解决不了的问题
- 大侠请帮忙!
请选择省 <select name=sheng onchange="change()">
<option value="湖南">湖南 </option>
<option value="广东">广东 </option>
<option value="江西">江西 </option>
</select>
请选择市
<select name="shi"> </select>
<script>
function change()
{
// 定义城市
var city=[
["长沙","株洲","湘乡"],
["广洲","深圳","东莞","中山"],
["南昌","萍乡","井冈山"]
];
//得到省
var sheng = document.getElementById("sheng");
//得到选定的编号
var index = sheng.selectedIndex;
//清空市
var shi = document.getElementById("shi");
shi.options.length=0;
//循环添加市
for (var i=0;i <city[index].length;i++)
{
//实例化新的选项
var op = new Option( city[index][i], city[index][i]);
//添加到市
shi.options.add(op);
}
}
onload = change;
</script>
<div id='ss'></div>
<script>
var a=[[1,2,3],[[1,11,111],[2,22,22],[3,33,333]],[[4,44,444],[5,55,555],[6,66,666]]]
var index = 0;
var title=["标题1","标题2","标题3"];
var length =a.length;
function $(Id){return document.getElementById(Id)}
function addListener(element,e,fn){ element.addEventListener?element.addEventListener(e,fn,false):element.attachEvent("on" + e,fn)};
function create(elm,parent,fn){
var element = document.createElement(elm);
if(fn)fn(element)
parent.appendChild(element);
}
function hh(num){
for(var i = 1; i<length;i++)
{
$('ss').getElementsByTagName("select")[i].length=0;
for(var j = 0;j<a[i][num].length;j++)
{$('ss').getElementsByTagName("select")[i].options.add(new Option(a[i][num][j],j))}
}}function initialize(){
for(var i = 0; i<length;i++){
$('ss').innerHTML=$('ss').innerHTML+title[i];
create('select',$('ss'),function(obj){
if(i==0)
{for(var j = 0;j<a[i].length;j++){obj.options.add(new Option(a[i][j],j))}}
else
{for(var j = 0;j<a[i][index].length;j++){obj.options.add(new Option(a[i][index][j],j))}}
})
}
addListener($('ss').getElementsByTagName("select")[0],'change',function(){hh($('ss').getElementsByTagName("select")[0].selectedIndex)})
}
initialize()
</script>
</body>
function sel(value){
var len=document.form1.A1.length;
var arr=['D','E','F'];
var arr1=['G','H','T'];
var arr2=['M','O','P'];
var arr3=['Q','R','S'];
if(value=="A"){
for(var i=0;i<arr.length;i++){
document.form1.A1.options[document.form1.A1.length]= new Option(arr[i],arr[i]);
}
for(var i=0;i<arr1.length;i++){
document.form1.A2.options[document.form1.A2.length]= new Option(arr1[i],arr1[i]);
}
}
else if(value=="B"){
for(var i=0;i<arr2.length;i++){
document.form1.A1.options[document.form1.A1.length]= new Option(arr2[i],arr2[i]);
}
for(var i=0;i<arr3.length;i++){
document.form1.A2.options[document.form1.A2.length]= new Option(arr3[i],arr3[i]);
}
}
}
</script>
<form name="form1">
<select name="aa" onChange="sel(this.options[this.selectedIndex].value)" size="1">
<option value="">一菜单</option>
<option value="A">A </option>
<option value="B">B </option>
</select>
<select name="A1">
<option selected value="">二菜单</option>
</select>
<select name="A2">
<option selected value="">三菜单</option>
</select>
</form>
但楼主他说的是:
一菜单有A,B,C三个选项,
选A后,
二菜单和三菜单变成D,E,F和G,H,T。 选B后,
二菜单和三菜单变成M,O,P和Q,R,S。 分析来说就是
选A后
二菜单:D,E,F
三菜单:G,H,T选B后:
二菜单:M,O,P
三菜单:Q,R,S那么就是我做的那效果如果说不是这效果那就是他自己说错了
二菜单:D,E,F
三菜单:G,H,T
然后选B后
二菜单:D,E,F ,M,O,P
三菜单:G,H,T,Q,R,S
再选A后
二菜单:D,E,F ,M,O,P,D,E,F
三菜单:G,H,T,Q,R,S,G,H,T
是这样的效果
只要在循环之外设置document.form1.A1.length=0和document.form1.A2.length=0即解决