一个奇怪的问题

redher 2005-03-17 06:14:10
<html>
<body>
<script language="JavaScript">
<!--
function MyStruct(pValue,pText){
this.Value=pValue;
this.Text=pText;
}

function SetPortId(Select) {
var intItemCount;
var jeans;
var i,m,n;

//////气质量
if (document.all.datatype.options[document.all.datatype.selectedIndex].value=="气质量"){
intItemCount=3;
var array_Port=new Array(3);
array_Port[0]=new MyStruct("ZQSF0001","师范学院");
array_Port[1]=new MyStruct("ZQKF0002","淮南经济技术开发区");
array_Port[2]=new MyStruct("ZQXJ0003","谢家集区人民政府");
}
/////水质量
if (document.all.datatype.options[document.all.datatype.selectedIndex].value=="水质量"){
intItemCount=1;
var array_Port=new Array(1);
array_Port[0]=new MyStruct("ZSSS0001","第三水厂");
}

/////水污染源
if (document.all.datatype.options[document.all.datatype.selectedIndex].value=="水污染源"){
intItemCount=6;
var array_Port=new Array(6);
array_Port[0]=new MyStruct("WSHH0001","淮化集团");
array_Port[1]=new MyStruct("WSDS0002","东盛");
array_Port[2]=new MyStruct("WSJM0003","佳盟");
array_Port[3]=new MyStruct("WSDB0004","德邦");
array_Port[4]=new MyStruct("WSJH0005","九禾化工");
array_Port[5]=new MyStruct("WSTD0008","田电电厂");

}

/////气污染源
if (document.all.datatype.options[document.all.datatype.selectedIndex].value=="气污染源"){
intItemCount=2;
var array_Port=new Array(2);
array_Port[0]=new MyStruct("YQTD0001","田电电厂");
array_Port[1]=new MyStruct("YQLH0003","洛河电厂");
}

//************清空原来的option
for (i=0;i<Select.length;i++)
Select.options[i]=null;

//************写入新option
for (i=0;i<intItemCount;i++){
jeans=new Option(array_Port[i].Text,array_Port[i].Value,false,false);
Select.options[i]=jeans;
}
}

//-->
</script>
<form name="form1" method="post" action="test.asp">
<p> 数据选择
<select name="datatype" onclick="SetPortId(document.all.form1.PortID)">

<option value="水质量">水质量</option>
<option value="气质量">气质量</option>
<option value="水污染源">水污染源</option>
<option value="气污染源">气污染源</option>
</select>
<p> 查询类型
<select name="timetype">
<option value="年平均值">年平均值</option>
<option value="月平均值">月平均值</option>

<option value="日平均值">日平均值</option>
<option value="小时平均值">小时平均值</option>
<option value="分钟平均值">分钟平均值</option>
<option value="原始数据">原始数据</option>
</select>
</p>

<p> 设备名称
<select name="PortID">
<option value="ZQSF0001">师范学院</option>
<option value="WSYY0011">1</option>
<option value="W1YY00">11</option>
</select>
<p>
<input type="button" name="Submit" value="button" onclick="SetPortId(document.all.form1.PortID)">
<input type="submit" name="Submit2" value="submit">
</form>
</body>
</html>




功能:点击第一个选择,第三个选择会相应的变化

问题:当选完"水污染源"后再选"水质量" 第三个列表框就变成三个了

不知道是哪里的问题?
各位哥哥帮帮忙啊
...全文
32 点赞 收藏 2
写回复
2 条回复
redher 2005年03月18日
厉害 3q
回复 点赞
vivianfdlpw 2005年03月17日
//************清空原来的option
for (i=0;i<Select.length;i++)
Select.options[i]=null;
=========>
//************清空原来的option
Select.options.length=0;

在你把otions[i]设置为null的时候,select的长度是变化的,不是定值,所以你清除不掉所有的options
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告