作者g29298 (歐德)
看板Ajax
標題[問題] 變數的變數
時間Sun Jun 2 20:21:14 2013
之前寫得不清楚,先向各位道歉,我補充說明一下
<select name="select2" id="select2"
onChange=month(document.getElementById('select1').name)>
<OPTION value="">請選擇</OPTION>
<OPTION value="">請選擇111</OPTION>
</select>
<select name="select1" id="select1" )>
<OPTION value="">請選擇</OPTION>
</select>
我是先寫二個下拉選單,當其中一個有變動時利用一個函式替另外一個加值
那我希望這個函式也可以給別的下拉選單使用,所以我試著把name當變數傳進去
然後我發現 document.all.x.options.length=0;這樣好像沒反應
我在查資料的時候,看到用eval可以做出變數的變數這樣
所以我就試著這樣打打看,結果還是錯的。
所以想請問一下這邊該怎麼改才是對的?
function month(x){
document.all.eval("x").options.length=0;
document.all.eval("x").options.add(new Option("請選擇",""));
<?php
for($i=1;$i<13;++$i){
echo
"document.all.eval('".x."').options.add(new Option('".$i."','".$i."'));";
}
?>
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.192.100
1F:推 s25g5d4:php跟js混在一起?! 06/02 20:50
2F:→ bibo9901:document.all又沒有.eval這個方法 ...你在寫什麼東東 06/02 20:53
3F:→ g29298:不好意思Orz我是新手..那要如何把select1填到.all.這邊呢? 06/02 21:32
4F:→ g29298:我是讓他像變數那樣傳進來的 要怎麼讓他讀到那個變數 06/02 21:34
5F:→ s25g5d4:把雙引號去掉 06/02 21:36
6F:→ g29298:我把""去掉網頁會毫無動作,eval(x)會回傳 06/02 21:40
7F:→ g29298:[object HTMLSelectElement] 這樣可以用後面的方法嗎? 06/02 21:41
8F:→ bibo9901:select1是什麼 Option是什麼 你都不講 06/02 22:17
9F:→ bibo9901:很難知道你想做什麼 06/02 22:18
※ 編輯: g29298 來自: 61.230.192.100 (06/02 22:28)
※ 編輯: g29298 來自: 61.230.192.100 (06/02 22:31)
※ 編輯: g29298 來自: 61.230.192.100 (06/02 22:32)
※ 編輯: g29298 來自: 61.230.192.100 (06/02 22:33)
10F:推 s25g5d4:document.all[x] 06/02 22:39
11F:→ g29298:還是不行耶 我有試過document.all.select1這樣就可以 06/02 22:49
12F:→ g29298:所以應該不是其他地方的問題 06/02 22:50
13F:→ grence:document.all[x] != document.all["x"] 06/02 23:25
14F:→ akiratw:一樓就點出問題了,前後端分不清楚 06/03 10:23
15F:→ b12031106:我覺得你跨太多級打怪了.. 06/03 13:05
16F:推 JavaScript:頭好暈呀@@ 06/03 13:39
17F:→ g29298:我也覺得我越級打怪了...但情急之下不打到這巨人不行阿=口= 06/03 15:55
18F:推 miad:掛JQUERY跟你一起衝吧 06/05 10:14
19F:推 UniFish:改練jQuery吧... 06/05 16:42
20F:→ UniFish:的確是越級打怪了,你要作這個不應該把PHP摻進來.. 06/05 16:42
21F:推 s25g5d4:不過其實我發現他只是拿PHP產生具重複性的js code...XD 06/05 20:52