<script language = "javascript">
function a(
x){
for(i=1;i<=2;i++)
{
var colname = "\"col"+i+"\""
y=document.getElementById(colname)
var msg = "COLNAME : "+colname+" i: "+i+" Y: "+y;
alert(msg)
}
}
</script>
<select id = "col1" onchange = "a(
this);">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select id = "col2" onchange = "a(
this);">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
红色字部份不管有没有加结果都一样
alert 结果为 :
COLNAME : "col1" i: 1 Y: null
COLNAME : "col2" i: 2 Y: null
为什麽 y 会是null 呢?
※ 编辑: averywu 来自: 59.124.142.152 (12/01 01:08)
1F:→ LPH66:第一 a 里面没用到 x 12/01 01:49
2F:→ LPH66:第二 a 里用到 y 时还没定义 它当然是什麽都没有 (null) 12/01 01:49
3F:→ ultrafire:var colname = "col"+i; 12/01 01:54
4F:推 Peruheru:你虽然传了this物件进去,可是你根本没拿来用呀 12/01 01:57
5F:→ Peruheru:另外你y都还没宣告就要拿来用了啊... 12/01 01:58
6F:推 AstralBrain:改成 var colname = "col" + i; 试试 12/01 05:39
7F:→ AstralBrain:啊 三楼有了.. 12/01 05:39
8F:→ TonyQ:javascript: 你以为我搞的懂啊... 12/01 16:23
9F:推 Peruheru:对了,有三行没有分号耶,这样真的能跑吗? 12/01 16:53
10F:→ averywu:唉,总算解决了。跟3楼的法子一样。我太菜了(泪.... 12/01 16:58