在使用ajax做级联菜单的部分,二级select的name想用一个参数来表示,代码如下:function updateMenu() {
var res=XMLHttpReq.responseXML.getElementsByTagName("res");
var aes=XMLHttpReq.responseXML.getElementsByTagName("aes");
var eid=XMLHttpReq.responseXML.getElementsByTagName("eid"); var ttt = eid[0].firstChild.data; //此处alert能够输出ttt为4 var ddd = "document.all.list"+ttt; //本意是定义ddd为document.all.list4,但是这样定义的ddd是个字符串
var list = ddd;
list.options.length=0; //此处会有问题,list为字符串,没有options属性,此时options is null or not an object
list.add(new Option("---请选择---",""));
for(var i=0;i<res.length;i++){
list.add(new Option(aes[i].firstChild.data,res[i].firstChild.data));
}
}
问题在上边的代码部分说明了,主要就是,定义的list为字符串,没有options属性。实际上是想让list定义为一个select下拉菜单。怎么样才能让传过来的参数,定义到一个下拉菜单的名称里边呢,请达人帮忙,急!!!
var res=XMLHttpReq.responseXML.getElementsByTagName("res");
var aes=XMLHttpReq.responseXML.getElementsByTagName("aes");
var eid=XMLHttpReq.responseXML.getElementsByTagName("eid"); var ttt = eid[0].firstChild.data; //此处alert能够输出ttt为4 var ddd = "document.all.list"+ttt; //本意是定义ddd为document.all.list4,但是这样定义的ddd是个字符串
var list = ddd;
list.options.length=0; //此处会有问题,list为字符串,没有options属性,此时options is null or not an object
list.add(new Option("---请选择---",""));
for(var i=0;i<res.length;i++){
list.add(new Option(aes[i].firstChild.data,res[i].firstChild.data));
}
}
问题在上边的代码部分说明了,主要就是,定义的list为字符串,没有options属性。实际上是想让list定义为一个select下拉菜单。怎么样才能让传过来的参数,定义到一个下拉菜单的名称里边呢,请达人帮忙,急!!!
你首先要获取一个select的DOM对象,然后才可以操作add()方法
list.options.length=0;
list实际是想定义为一个select下拉菜单的。
请给出修改代码,谢谢!
list.id = "mySelect";
var ddd = eval("document.all.list"+ttt);
eval一下就变成对象了!
或者
JSON2.parse("document.all.list"+ttt);