日期:2014-05-16  浏览次数:20383 次

js操作Dom的有关问题
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
<script language="javascript">
function setValue(){
var id = new Array(1,2);
var value = new Array("北京","上海");
var select = document.getElementById("area"); //取得下拉框
select.length = 1; //只能选择其中的值
select.options[0].selected = true;

for(var x=0;x<id.length;x++){
//创建option的节点
var option = document.createElement("option");
option.setAttribute("value",id[x]);
//追加文本节点
option.appendChild(document.createTextNode(value[x]));
}
select.appendChild(option);

}
</script>
 </HEAD>

 <BODY onload="setValue()">
<form >
<select name="area" id="area">
<option value="0">没有地区</option>
</select>
</form>
  
 </BODY>
</HTML>

下拉框显示的只有插入的最后那个值(深圳),这是为什么??

------解决方案--------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function setValue(){
var id = new Array(1,2);
var value = new Array("北京","上海");
var select = document.getElementById("area"); //取得下拉框
select.length = 1;
select.options[0].selected = true;
for(var x=0;x<id.length;x++){
var option = document.createElement("option");
option.setAttribute("value",id[x]);
option.appendChild(document.createTextNode(value[x]));
select.appendChild(option);
}
}
</script>
 </HEAD>

 <BODY onload="setValue()">
<form >
<select name="area" id="area">
<option value="0">没有地区</option>
</select>
</form>
  
 </BODY>
</html>
select.appendChild(option);放在for循环里