如何在js中添加节点时设置其属性

期待可为 2011-05-26 06:23:14
在html中我建了一个select下拉菜单,然后通过js来操作document节点,给select下拉菜单添加选项,方法如下:

var models = document.getElementById("major");
var results = xmlHttp.responseXML.getElementsByTagName("major_name");
if(results.length>0){
clearElement("major");
var option = null;
option = document.createElement("option");
option.appendChild(document.createTextNode("-----"));
models.appendChild(option);
for(var i=0;i<results.length;i++){
option = document.createElement("option");
option.appendChild(document.createTextNode(results[i].firstChild.nodeValue));
models.appendChild(option);
}
}

这样我把选项的文字部分给弄出来了,但是我需要设置选项的value值,请问能在这里修改吗?
求指导&………………
...全文
768 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
期待可为 2011-05-29
  • 打赏
  • 举报
回复
好了,问题解决了,我用你的方法解决的,应该是版本方面的问题:我在form表单里的select元素中开始只用了一个id="depart",在servlet中调用的时候是无法识别的,只要在select元素中加一个name="depart"就可以兼容了,好纠结的问题啊,谢谢了
期待可为 2011-05-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wangyinbin 的回复:]
引用 4 楼 z597952645 的回复:

引用 3 楼 wangyinbin 的回复:
利用DOM

JScript code

//得到节点信息
var cityDom = document.getElementById("subtype");
//向下拉列表添加内容
//创建元素
var city = document.createElement("option")……
[/Quote]
对啊,我现在接受到的就是null,应该怎么解决啊?
能够在后面修改其value吗?
懒得搭理你 2011-05-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 z597952645 的回复:]

引用 3 楼 wangyinbin 的回复:
利用DOM

JScript code

//得到节点信息
var cityDom = document.getElementById("subtype");
//向下拉列表添加内容
//创建元素
var city = document.createElement("option");
//设置其value
city.setAt……
[/Quote]
value是用来标识select具体的选项的,而<option>***</option>中的***是用来显示在页面上的
如果你的value没有设置值的话,用request.getParameter()只能得到null
期待可为 2011-05-26
  • 打赏
  • 举报
回复
还有一个问题,我在html表单中有一个下拉菜单,将其提交到servlet,如何用request.getParameter();方法获得其选项。我在那里获得的数据显示出来是null,我认为是在<option>选项中没有设置value值导致的,请问是这样的吗?求解释……菜鸟学习中
期待可为 2011-05-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangyinbin 的回复:]
利用DOM

JScript code

//得到节点信息
var cityDom = document.getElementById("subtype");
//向下拉列表添加内容
//创建元素
var city = document.createElement("option");
//设置其value
city.setAttrib……
[/Quote]
请问这里的value跟<option value="?">hello</option>是对应的吗?还是只是自己随便起的名字就叫value?
懒得搭理你 2011-05-26
  • 打赏
  • 举报
回复
利用DOM
 
//得到节点信息
var cityDom = document.getElementById("subtype");
//向下拉列表添加内容
//创建元素
var city = document.createElement("option");
//设置其value
city.setAttribute("value",code);
//添加显示的文本值
city.appendChild(document.createTextNode(name));
//添加到DOM中
cityDom.appendChild(city);
jim-single 2011-05-26
  • 打赏
  • 举报
回复
同意
wangwenhui-com-cn 2011-05-26
  • 打赏
  • 举报
回复
var varItem = new Option(objItemText, objItemValue);
models.options.add(varItem);

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧