js select 的一个联动了.
解决方案 »
- JS 在Firefox 10.0.2中 如何获取鼠标坐标 ?
- 求助---js动态添加label标签后,怎么删除呢?
- 不在前排的聊天窗口,有人向你说话时会闪烁。请问这种闪烁在网页浏览器上怎样实现?
- javascript 不用控件如何控制页面打印的样式(左右边距等)!
- 求助:怎么把客户端的运行结果返回给服务器端????
- 一个网络攻防的题,要编程序,有兴趣的可以去看看,我贴出地址哈!!
- 输入数字的格式校验,在先等。。。。。。。。。
- 如何知道已经打开的窗口
- 急问高手:关于javascript和jsp交互的。
- js 读取xml ,无法获取未定义或 null 引用的属性“documentElement”
- 高手帮个忙吧~~~~
- 让文本框失去焦点,不能认为输入。
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Dsy()
{
this.Items = {};
}
Dsy.prototype.add = function(id,iArray)
{
this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id)
{
if(typeof(this.Items[id]) == "undefined") return false;
return true;
}function change(v){
var str="0";
for(i=0;i<v;i++){ str+=("_"+(document.getElementById(s[i]).selectedIndex-1));};
var ss=document.getElementById(s[v]);
with(ss){
length = 0;
options[0]=new Option(opt0[v],opt0[v]);
if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v)
{
if(dsy.Exists(str)){
ar = dsy.Items[str];
for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]);
if(v)options[1].selected = true;
}
}
if(++v<s.length){change(v);}
}
}var dsy = new Dsy();dsy.add("0",["1","2","3"]);dsy.add("0_0",["11"]);
dsy.add("0_0_0",["111"]);dsy.add("0_1",["21","22"]);
dsy.add("0_1_0",["211"]);
dsy.add("0_1_1",["221","222"]);dsy.add("0_2",["31","32","33"]);
dsy.add("0_2_0",["311"]);
dsy.add("0_2_1",["321","322"]);
dsy.add("0_2_2",["331","332","333"]);
//-->
</SCRIPT>
<SCRIPT LANGUAGE = JavaScript>
<!--
//** 秋水
var s=["s1","s2","s3"];
var opt0 = ["请","选","择"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
//-->
</SCRIPT>
</head>
<body onload="setup()">
<select id="s1"><option>请</option></select>
<select id="s2"><option>选</option></select>
<select id="s3"><option>择</option></select>
</td>
</tr>
</table>
</form>
</body>
</html>