作者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