问题是这样的:第一次改变select值时,若为"no",table(id为element)显示,添加几行后,在删除,只保留第一行,为什么再次改变时id为element的table不显示各位高人帮忙看看 <script type="text/javascript">
function addelement(){
var tab = document.getElementById('element');
var tr = tab.insertRow();
var td0 = tr.insertCell();
td0.innerHTML = '<input type="text" name="elements" >';
td0.width="20px";
var td1 = tr.insertCell();
td1.innerHTML = '<input type="text" name="measurement" value="#">';
td1.width="20px";
var td2 = tr.insertCell();
td2.innerHTML = '<img src="<%=basePath%>img/partsdel.gif" onclick="remove(this.parentNode.parentNode);" >';
}
function remove(o){
var tab = o.parentNode;
tab.deleteRow(o.rowIndex);
}
function getElement(){
var son = document.getElementById("son").value;
var parttr = document.getElementById("parttr");
var element = document.getElementById("element");
if(son=="no"){
parttr.style.display="block";
}else{
parttr.style.display="none";
if(element!==null){
for(var i=element.rows.length-1;i>0;i=i-1){
element.deleteRow(i);
}
}
}
}
</script>
<table>
<tr>
<td>是否有子节点</td>
<td class="left">
<select style="margin-left:4px;" name="son" id="son" onchange="getElement();" >
<option value="">--请选择--</option>
<option value="yes">有子节点</option>
<option value="no">没有子节点</option>
</select>
</td>
</tr>
<tr style="display:none" id="parttr">
<td></td>
<td colspan=2>
<table id="element">
<tr><td colspan=3>点击添加设计要素和测量值
<img style="cursor:pointer" src="<%=basePath%>img/parts.png" onclick="addelement();" /></td></tr>
</table>
</td>
</tr>
</table>
function addelement(){
var tab = document.getElementById('element');
var tr = tab.insertRow();
var td0 = tr.insertCell();
td0.innerHTML = '<input type="text" name="elements" >';
td0.width="20px";
var td1 = tr.insertCell();
td1.innerHTML = '<input type="text" name="measurement" value="#">';
td1.width="20px";
var td2 = tr.insertCell();
td2.innerHTML = '<img src="<%=basePath%>img/partsdel.gif" onclick="remove(this.parentNode.parentNode);" >';
}
function remove(o){
var tab = o.parentNode;
tab.deleteRow(o.rowIndex);
}
function getElement(){
var son = document.getElementById("son").value;
var parttr = document.getElementById("parttr");
var element = document.getElementById("element");
if(son=="no"){
parttr.style.display="block";
}else{
parttr.style.display="none";
if(element!==null){
for(var i=element.rows.length-1;i>0;i=i-1){
element.deleteRow(i);
}
}
}
}
</script>
<table>
<tr>
<td>是否有子节点</td>
<td class="left">
<select style="margin-left:4px;" name="son" id="son" onchange="getElement();" >
<option value="">--请选择--</option>
<option value="yes">有子节点</option>
<option value="no">没有子节点</option>
</select>
</td>
</tr>
<tr style="display:none" id="parttr">
<td></td>
<td colspan=2>
<table id="element">
<tr><td colspan=3>点击添加设计要素和测量值
<img style="cursor:pointer" src="<%=basePath%>img/parts.png" onclick="addelement();" /></td></tr>
</table>
</td>
</tr>
</table>
解决方案 »
- 网页发送udp数据
- js如何截取有规律的字符!和上次的提问不一样。。
- 过虑textarea换行符的问题
- onbeforeunload事件中 怎样捕捉cancel事件
- js中 Image对象打印问题(数组与对象结合)
- 关于JS的网页特效的烦恼`有会的进下
- [求代码]动态改变表单中表单框数量的代码
- iframe的src重新设置为do.asp?aa=aa后,用location.reload(),刷新的好像是是do.asp?aa=aa,怎样刷新时去掉do.asp后的参数?
- javascript的函数只能在<head>中定义吗?
- 百度地图开发
- 为什么越来越快???如何解决? 急!!
- 做了一个让用户自动增加文本框的JS
<!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" />
<title>无标题文档</title>
<script type="text/javascript">
function addelement(){
var tab = document.getElementById('element');
var tr = tab.insertRow();
var td0 = tr.insertCell();
td0.innerHTML = '<input type="text" name="elements" >';
td0.width="20px";
var td1 = tr.insertCell();
td1.innerHTML = '<input type="text" name="measurement" value="#">';
td1.width="20px";
var td2 = tr.insertCell();
td2.innerHTML = '<img src="img/partsdel.gif" onclick="remove(this.parentNode.parentNode);" >';
}
function remove(o){
var tab = o.parentNode;
tab.deleteRow(o.rowIndex);
}
function getElement(){
var son = document.getElementById("son").value;
var parttr = document.getElementById("parttr");
var element = document.getElementById("element");
if(son=="no"){
parttr.style.display="block";
}else{
parttr.style.display="none";
if(element!==null){
for(var i=element.rows.length-1;i>0;i=i-1){
element.deleteRow(i);
}
}
}
}</script>
</head><body><table >
<tr>
<td>是否有子节点</td>
<td >
<select name="son" id="son" onchange="getElement();" >
<option value="">--请选择--</option>
<option value="yes">有子节点</option>
<option value="no">没有子节点</option>
</select>
</td>
</tr> <tr style="display:none" id="parttr">
<td colspan=2>
<table id="element">
<tr><td colspan=3>点击添加设计要素和测量值
<img style="cursor:pointer" src="<%=basePath%>img/parts.png" onclick="addelement();" /></td></tr>
</table>
</td>
</tr></table>
</body></html>这是html页面,帮忙看看
<td></td>
<td colspan=2>
<table id="element">
<tr><td colspan=3>点击添加设计要素和测量值
<img style="cursor:pointer" src="<%=basePath%>img/parts.png" onclick="addelement();" /></td></tr>
</table>
</td>
</tr>
<tr style="display:none" id="subparttr">
<td></td>
<td colspan=2>
<table id="subelement">
</table>
</td>
</tr> 增加一个table试试