论坛首页 入门技术论坛

JS中用innerHTML生成<select>的问题

浏览 9861 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-07-01  
<html>
<head>
<script type="text/javascript">
function a(){
	var c = document.getElementById("t1");
	c.innerHTML="<select id='callInfoTitleID' name='callInfoTitleID' "
		+"multiple size='5' style='height:100px;width:100px;' >";
	c.innerHTML+="<option value='1'>"+'aaaa';
	c.innerHTML+="<option value='1'>"+'bbbb';
	c.innerHTML+="<option value='1'>"+'cccc';
	c.innerHTML+="</select>";
}
</script>
</head>
<body >
	<div id='t1'>
	
	</div>
<input type="button" value="OK" onclick="a()">
</body>
</html>


下拉列表没有选项,选项跑下拉列表列表外面去了.....

后来琢磨了琢磨 这样:拼字符串,拼好后再放到innerHTML里
<html>
<head>
<script type="text/javascript">
function a(){
	var c = document.getElementById("t1");
	c.innerHTML="<select id='callInfoTitleID' name='callInfoTitleID' "
		+"multiple size='5' style='height:100px;width:100px;' >";
	c.innerHTML+="<option value='1'>"+'aaaa';
	c.innerHTML+="<option value='1'>"+'bbbb';
	c.innerHTML+="<option value='1'>"+'cccc';
	c.innerHTML+="</select>";
}
function b(){
	var c = document.getElementById("t2");
	var str = "" ;
	str+="<select id='callInfoTitleID' name='callInfoTitleID' "
		+"multiple size='5' style='height:100px;width:100px;' >";
	
	str+="<option value='1'>"+'aaaa';
	str+="<option value='1'>"+'bbbb';
	str+="<option value='1'>"+'cccc';
	str+="</select>";
	c.innerHTML = str ;
}
</script>
</head>
<body >
	<div id='t1'>
	
	</div>
	<div id='t2'>
	
	</div>
<input type="button" value="A" onclick="a()"><br><br><br>
<input type="button" value="B" onclick="b()">
</body>
</html>


这样问题就解决了 嘿嘿~~~ 晕啊
  • 描述: 出现了这种问题,下拉列表没有选项,选项跑下拉列表列表外面去了.....
  • 大小: 12.9 KB
   发表时间:2008-07-01  
标签没有结束呀!
<option value='1'>aaa</option>
这可是基本知识呀!
0 请登录后投票
   发表时间:2008-07-01  
achun 写道
标签没有结束呀!
<option value='1'>aaa</option>
这可是基本知识呀!


<%@ page contentType="text/html; charset=GB2312" isErrorPage="true"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
<script type="text/javascript">
function a(){
	var c = document.getElementById("t1");
	c.innerHTML="<select id='callInfoTitleID' name='callInfoTitleID' "
		+"multiple size='5' style='height:100px;width:100px;' >";
	c.innerHTML+="<option value='1'>"+'aaaa'+"</option>";
	c.innerHTML+="<option value='1'>"+'bbbb'+"</option>";
	c.innerHTML+="<option value='1'>"+'cccc'+"</option>";
	c.innerHTML+="</select>";
}
function b(){
	var c = document.getElementById("t2");
	var str = "" ;
	str+="<select id='callInfoTitleID' name='callInfoTitleID' "
		+"multiple size='5' style='height:100px;width:100px;' >";
	
	str+="<option value='1'>"+'aaaa';
	str+="<option value='1'>"+'bbbb';
	str+="<option value='1'>"+'cccc';
	str+="</select>";
	c.innerHTML = str ;
}
</script>
</head>
<body >
	<div id='t1'>
	
	</div>
	<div id='t2'>
	
	</div>
<input type="button" value="A" onclick="a()"><br><br><br>
<input type="button" value="B" onclick="b()">
</body>
</html>



但是我加上了也不好使啊,而function b()里没有结束标记也好用呢
0 请登录后投票
   发表时间:2008-07-01  

为什么要写那么多 innerHTML+=...呢?明显错误呀!

function a(){
	var c = document.getElementById("t1");
	c.innerHTML="<select id='callInfoTitleID' name='callInfoTitleID' "
		+"multiple size='5' style='height:100px;width:100px;' >"
		+"<option value='1'>aaaa</option>"
		+"<option value='1'>bbbb</option>"
		+"<option value='1'>cccc</option>"
		+"</select>";
}
 
0 请登录后投票
   发表时间:2008-07-02  
achun 写道

为什么要写那么多 innerHTML+=...呢?明显错误呀!

function a(){
	var c = document.getElementById("t1");
	c.innerHTML=""
		+"aaaa"
		+"bbbb"
		+"cccc"
		+"";
}



你的这个和我function b()一样了啊
对于function a(),如果innerHTML不+=的话,那最后只能有一个元素了,即</select>
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics