[問題] 搞不懂javascript的邏輯...

看板Ajax作者時間16年前 (2009/12/01 00:34), 編輯推噓3(307)
留言10則, 6人參與, 最新討論串1/1
<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)

12/01 01:49, , 1F
第一 a 裡面沒用到 x
12/01 01:49, 1F

12/01 01:49, , 2F
第二 a 裡用到 y 時還沒定義 它當然是什麼都沒有 (null)
12/01 01:49, 2F

12/01 01:54, , 3F
var colname = "col"+i;
12/01 01:54, 3F

12/01 01:57, , 4F
你雖然傳了this物件進去,可是你根本沒拿來用呀
12/01 01:57, 4F

12/01 01:58, , 5F
另外妳y都還沒宣告就要拿來用了啊...
12/01 01:58, 5F

12/01 05:39, , 6F
改成 var colname = "col" + i; 試試
12/01 05:39, 6F

12/01 05:39, , 7F
啊 三樓有了..
12/01 05:39, 7F

12/01 16:23, , 8F
javascript: 你以為我搞的懂啊...
12/01 16:23, 8F

12/01 16:53, , 9F
對了,有三行沒有分號耶,這樣真的能跑嗎?
12/01 16:53, 9F

12/01 16:58, , 10F
唉,總算解決了。跟3樓的法子一樣。我太菜了(淚....
12/01 16:58, 10F
文章代碼(AID): #1B4_GSrm (Ajax)
文章代碼(AID): #1B4_GSrm (Ajax)