代码如下!<%@ page contentType="text/html; charset=gb2312" %>
<html>
<head>
<title>查询窗口</title>
<script language="JavaScript">function changeValue(obj){
if(obj.value == 0){
document.getElementById("result").value = "f117";
}else {
document.getElementById("result").value = "gaofei";
}
}function insertrow(){
var newrow = document.all.tbl.rows[0].cloneNode(true); //克隆一行
document.all("newTB").appendChild(newrow); //添加刚才克隆的一行
}function delerow(){
var numrow = document.all("newTB").rows.length;
if (numrow == 0) {
alert("此行无法删除!");
return false;}
document.all("newTB").deleteRow(numrow-1);
}
</script>
</head><body class="dialog_body">
<form method="POST" onSubmit="return doSubmit(this)">
<fieldset style="margin:5px;width:630px;">
<legend>查询条件</legend>
<div align="center" class="inputblock" style="width:930;height:150;overflow:auto;">
<table border="1" width="900" cellpadding="0" cellspacing="0" class="table">
<tr>
<td class="title" width="16%">列表框</td>
<td class="title" width="16%">结果</td>
</tr>
</table>
<table border="1" width="900" cellpadding="0" cellspacing="0" class="table">
<tbody id="tbl">
<tr>
<td width="16%">
<select id="pid" name="project" onchange="changeValue(this)">
<option value=""></option>
<option value="0">人员编号</option>
<option value="1">姓名</option>
</select>
</td>
<td width="16%">
<input id="result" type="text" value="" readonly="true">
</td>
</tr>
</tbody>
<tbody id="newTB">
</tbody>
</table>
</div>
</fieldset>
<div align="right" style="margin:10px;">
<input type="button" onClick="insertrow();" value="增加一行">
<input type="button" onClick="delerow();" value="删除一行">
</div>
</form>
</body>
</html>请先增加一行 即:第二行
然后第二行选则下拉列表框,发现本应在第二行显示的结果值跑到第一行去了!
<html>
<head>
<title>查询窗口</title>
<script language="JavaScript">function changeValue(obj){
if(obj.value == 0){
document.getElementById("result").value = "f117";
}else {
document.getElementById("result").value = "gaofei";
}
}function insertrow(){
var newrow = document.all.tbl.rows[0].cloneNode(true); //克隆一行
document.all("newTB").appendChild(newrow); //添加刚才克隆的一行
}function delerow(){
var numrow = document.all("newTB").rows.length;
if (numrow == 0) {
alert("此行无法删除!");
return false;}
document.all("newTB").deleteRow(numrow-1);
}
</script>
</head><body class="dialog_body">
<form method="POST" onSubmit="return doSubmit(this)">
<fieldset style="margin:5px;width:630px;">
<legend>查询条件</legend>
<div align="center" class="inputblock" style="width:930;height:150;overflow:auto;">
<table border="1" width="900" cellpadding="0" cellspacing="0" class="table">
<tr>
<td class="title" width="16%">列表框</td>
<td class="title" width="16%">结果</td>
</tr>
</table>
<table border="1" width="900" cellpadding="0" cellspacing="0" class="table">
<tbody id="tbl">
<tr>
<td width="16%">
<select id="pid" name="project" onchange="changeValue(this)">
<option value=""></option>
<option value="0">人员编号</option>
<option value="1">姓名</option>
</select>
</td>
<td width="16%">
<input id="result" type="text" value="" readonly="true">
</td>
</tr>
</tbody>
<tbody id="newTB">
</tbody>
</table>
</div>
</fieldset>
<div align="right" style="margin:10px;">
<input type="button" onClick="insertrow();" value="增加一行">
<input type="button" onClick="delerow();" value="删除一行">
</div>
</form>
</body>
</html>请先增加一行 即:第二行
然后第二行选则下拉列表框,发现本应在第二行显示的结果值跑到第一行去了!
if(obj.value == 0){
obj.parentElement.parentElement.cells[1].children[0].value = "f117";
}else if(obj.value == 1){
obj.parentElement.parentElement.cells[1].children[0].value = "gaofei";
}else
obj.parentElement.parentElement.cells[1].children[0].value = ""; }
id是对象的唯一标识,一个页面内不能有两个对象的id是相同的
name是可以重复的
clone节点的时候要注意id重复问题
你也可以用getElementsByName来得到文本框的数组,也可以实现这个功能