+ -
当前位置:首页 → 问答吧 → JS如何连接对象字符串和对象名称字符?

JS如何连接对象字符串和对象名称字符?

时间:2011-06-29

来源:互联网

在ASP程序中有一个表单 表单中有三个列的select,其中一个select的值根据是其他两个的值生成。
其中三个select的名称xinghao1,jixing1,danwei1,而在js程序中我想设置danwei1的options,而且danwei1对象名称设置时,我想用danwei加上xinghao1最右边的一个数字构成danwei1的名称,因为我还有很行这样的操作,名称的命名规律也是每一行加同样的数字。
现在我的代码如下。

JScript code
function redirect(x,y,z){ 
var temp
var i
var xinghao
var jixing
i=0 
danwei="danwei"+right(z,1)
temp=document.shujutijiaoA
temp=temp.+danwei
for (var m=temp.options.length-1;m>=0;m--) 
temp.options[m]=null 
<%while not rs2.eof%> 
xinghao="<%=CStr(rs2("xinghao"))%>"
jixing="<%=CStr(rs2("jixing"))%>" 
if(xinghao==x && jixing==y) { 
temp.options.add(new Option("<%=rs2("BZhong")%>","<%=rs2("BZhong")%>"))
i=i+1
} 
<%rs2.movenext 
wend%> 
} 

HTML code

HTML code<select name="xinghao1" id="xinghao1" style="margin:0; border:0; padding:0;" onChange="redirect(this.options.value,jixing1.options.value,this.name)">





但是提示对象为空 或不是对象。
经过测试关键是名称表述有问题。
temp=temp.+danwei

作者: feilong5xian   发布时间: 2011-06-29

danwei="danwei"+right(z,1)
JS没有RIGHT函数。是你自定义的,如果要去最右边的一位,用
danwei="danwei"+z.substr(-1);
然后
ALERT(danwei);
看看对不对

还有你这JS里面怎么还有服务端脚本的。。

作者: tcwsyt   发布时间: 2011-06-29

谢谢楼上的回答
恩,是的,RIGHT是我自定义,运行正常。
JS里面加入服务端脚本 恩是的。
通过脚本生成的是一段数组吧。
如果temp=temp.+danwei改成temp=document.shujutijiaoA.danwei1是可以运行的。

作者: feilong5xian   发布时间: 2011-06-29

js连接是+不是.吧。。
你把那.去掉看看

作者: tcwsyt   发布时间: 2011-06-29

temp=temp.+danwei 这个点是干什么用的啊,会出错的

作者: aspwebchh   发布时间: 2011-06-29

明白你的意思了
temp=temp[danwei]
这样看看

作者: aspwebchh   发布时间: 2011-06-29

不好意思是我表述不清楚。
幸亏楼上的超级理解。
搞定
这对我来说是哪里的概念错误啊?

作者: feilong5xian   发布时间: 2011-06-29

temp=eval("temp."+danwei)
这样看看,或许也可以

作者: aspwebchh   发布时间: 2011-06-29

恩,这样可以的,谢谢楼上的指点。请指点一下这是那一方面的具体知识?

作者: feilong5xian   发布时间: 2011-06-29