<td><select name="province" onchange="cityName(this)"> <option value="">Province</option> </select></td> <td> <select name="city"> <option value="">City</option> </select></td> <td><input type="button" value="Remove" onclick="removeRow(this.parentNode.parentNode)"></td> </tr> </tbody> <tr> <td><input name="button" type="button" value="Add row" onclick="addRow()"></td> <td><input type="submit" name="Submit" value="search"></td> </tr> </table></form> <script type="text/javascript"> var provinceName = ["z", "f", "a", "j"];//["浙江", "江苏", "安徽", "江西"]; var city1 = ["h", "l", "w", "s", "j", "h"];//["杭州", "宁波", "温州", "绍兴", "金华", "湖州"]; var city2 = ["n", "s", "w", "c", "z", "x"];//["南京", "苏州", "无锡", "常州", "镇江", "徐州"]; var city3 = ["h", "w", "h", "q", "x"];//["合肥", "翕县", "黄山", "祁门", "休宁"]; var city4 = ["n", "j", "l", "s", "x", "j"]; //["南昌", "九江", "赣州", "上饶", "新余", "景德镇"]; //你在ASP输出的页面里应该看到如上这般的JS数组, 能看到则表示成功function province() { var e = document.form1.province; for (var i=0; i<provinceName.length; i++) e.options.add(new Option(provinceName[i], provinceName[i])); } function cityName(t) { var n=t.selectedIndex; //var e = document.form1.city; var e=t.parentNode.parentNode.city;//这是我也的,不对,实现不了 e.options.length = 1; if (n == 0) return; var a = eval("city"+ n); //得到城市的数组名 for (var i=0; i<a.length; i++) e.options.add(new Option(a[i], a[i])); } window.attachEvent("onload", province); //初始时给省名下拉框赋内容function addRow() { var root = document.getElementById("tbody"); var allRows = root.getElementsByTagName('tr'); var cRow = allRows[0].cloneNode(true) root.appendChild(cRow);
} function removeRow(r) { var root = r.parentNode; var allRows = root.getElementsByTagName('tr') if(allRows.length>1) {root.removeChild(r);} else alert("only one row left, you can not remove it!"); } </script>
function cityName(t) { var n=t.selectedIndex; //var e = document.form1.city; var e=t.parentElement.nextSibling.firstChild;//这是我也的,不对,实现不了 e.options.length = 1; if (n == 0) return; var a = eval("city"+ n); //得到城市的数组名 for (var i=0; i <a.length; i++) e.options.add(new Option(a[i], a[i])); }
function cityName(t) { var n=t.selectedIndex; //var e = document.form1.city; var e=t.parentElement.nextSibling.firstChild;//这是我也的,不对,实现不了 e.options.length = 1; if (n == 0) return; var a = eval("city"+ n); //得到城市的数组名 for (var i=0; i <a.length; i++) e.options.add(new Option(a[i], a[i])); }
<td> <select name="province" onchange="cityName(this)"> <option value=""> Province </option> </select> </td> <td> <select name="city"> <option value=""> City </option> </select> </td> <td> <input type="button" value="Remove" onclick="removeRow(this.parentNode.parentNode)"> </td> </tr> </tbody> <tr> <td> <input name="button" type="button" value="Add row" onclick="addRow()"> </td> <td> <input type="submit" name="Submit" value="search"> </td> </tr> </table> </form> <script type="text/javascript"> var provinceName = ["z", "f", "a", "j"];//["浙江", "江苏", "安徽", "江西"]; var city1 = ["h", "l", "w", "s", "j", "h"];//["杭州", "宁波", "温州", "绍兴", "金华", "湖州"]; var city2 = ["n", "s", "w", "c", "z", "x"];//["南京", "苏州", "无锡", "常州", "镇江", "徐州"]; var city3 = ["h", "w", "h", "q", "x"];//["合肥", "翕县", "黄山", "祁门", "休宁"]; var city4 = ["n", "j", "l", "s", "x", "j"]; //["南昌", "九江", "赣州", "上饶", "新余", "景德镇"]; //你在ASP输出的页面里应该看到如上这般的JS数组, 能看到则表示成功 function province() { var e = document.form1.province; for (var i=0; i <provinceName.length; i++) e.options.add(new Option(provinceName[i], provinceName[i])); } function cityName(t) { var n=t.selectedIndex; //var e = document.form1.city; var e=t.parentElement.nextSibling.firstChild;//这是我也的,不对,实现不了 e.options.length = 1; if (n == 0) return; var a = eval("city"+ n); //得到城市的数组名 for (var i=0; i <a.length; i++) e.options.add(new Option(a[i], a[i])); } window.attachEvent("onload", province); //初始时给省名下拉框赋内容 function addRow() { var root = document.getElementById("tbody"); var allRows = root.getElementsByTagName('tr'); var cRow = allRows[0].cloneNode(true) root.appendChild(cRow);
} function removeRow(r) { var root = r.parentNode; var allRows = root.getElementsByTagName('tr') if(allRows.length> 1) {root.removeChild(r);} else alert("only one row left, you can not remove it!"); } </script> </body> </html>
要是通过name取的话,稍微麻烦些,用document.getElementsByName("name")[0]来获得。
父子:
子引用父 opener.document.formname.selectname.xxx
父引用子 win = open("child.htm");
win.document.formname.selectname.xxx
框架 top.framename.document.formname.selectname.xxx
iframe document.frames["framename"].document.formname.selectname.xxx
我的列表框行可以通过复制动态添加的
这样的化就有重名的元素,
现在我把我的代码全贴出来,希望大家能帮我看看,帮我想个解决办法,谢谢大家
非常感谢!!
<form name=form1 method="get" action="Result.jsp">
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="tbody">
<tr>
<td><select name="p" id="p">
<option>item1</option>
<option>item2</option>
<option>item3</option>
<option>item4</option>
<option>item5</option>
</select></td>
<td><select name="province" onchange="cityName(this)">
<option value="">Province</option>
</select></td>
<td>
<select name="city">
<option value="">City</option>
</select></td> <td><input type="button" value="Remove" onclick="removeRow(this.parentNode.parentNode)"></td>
</tr>
</tbody>
<tr>
<td><input name="button" type="button" value="Add row" onclick="addRow()"></td>
<td><input type="submit" name="Submit" value="search"></td>
</tr>
</table></form>
<script type="text/javascript">
var provinceName = ["z", "f", "a", "j"];//["浙江", "江苏", "安徽", "江西"];
var city1 = ["h", "l", "w", "s", "j", "h"];//["杭州", "宁波", "温州", "绍兴", "金华", "湖州"];
var city2 = ["n", "s", "w", "c", "z", "x"];//["南京", "苏州", "无锡", "常州", "镇江", "徐州"];
var city3 = ["h", "w", "h", "q", "x"];//["合肥", "翕县", "黄山", "祁门", "休宁"];
var city4 = ["n", "j", "l", "s", "x", "j"]; //["南昌", "九江", "赣州", "上饶", "新余", "景德镇"];
//你在ASP输出的页面里应该看到如上这般的JS数组, 能看到则表示成功function province()
{ var e = document.form1.province;
for (var i=0; i<provinceName.length; i++)
e.options.add(new Option(provinceName[i], provinceName[i]));
}
function cityName(t)
{
var n=t.selectedIndex;
//var e = document.form1.city;
var e=t.parentNode.parentNode.city;//这是我也的,不对,实现不了
e.options.length = 1;
if (n == 0) return;
var a = eval("city"+ n); //得到城市的数组名
for (var i=0; i<a.length; i++) e.options.add(new Option(a[i], a[i]));
}
window.attachEvent("onload", province); //初始时给省名下拉框赋内容function addRow()
{
var root = document.getElementById("tbody");
var allRows = root.getElementsByTagName('tr');
var cRow = allRows[0].cloneNode(true)
root.appendChild(cRow);
}
function removeRow(r)
{
var root = r.parentNode;
var allRows = root.getElementsByTagName('tr')
if(allRows.length>1)
{root.removeChild(r);}
else
alert("only one row left, you can not remove it!");
}
</script>
{
var n=t.selectedIndex;
//var e = document.form1.city;
var e=t.parentElement.nextSibling.firstChild;//这是我也的,不对,实现不了
e.options.length = 1;
if (n == 0) return;
var a = eval("city"+ n); //得到城市的数组名
for (var i=0; i <a.length; i++) e.options.add(new Option(a[i], a[i]));
}
{
var n=t.selectedIndex;
//var e = document.form1.city;
var e=t.parentElement.nextSibling.firstChild;//这是我也的,不对,实现不了
e.options.length = 1;
if (n == 0) return;
var a = eval("city"+ n); //得到城市的数组名
for (var i=0; i <a.length; i++) e.options.add(new Option(a[i], a[i]));
}
<body>
<form name=form1 method="get" action="Result.jsp">
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="tbody">
<tr>
<td> <select name="p" id="p">
<option> item1 </option>
<option> item2 </option>
<option> item3 </option>
<option> item4 </option>
<option> item5 </option>
</select> </td>
<td> <select name="province" onchange="cityName(this)">
<option value=""> Province </option>
</select> </td>
<td>
<select name="city">
<option value=""> City </option>
</select> </td> <td> <input type="button" value="Remove" onclick="removeRow(this.parentNode.parentNode)"> </td>
</tr>
</tbody>
<tr>
<td> <input name="button" type="button" value="Add row" onclick="addRow()"> </td>
<td> <input type="submit" name="Submit" value="search"> </td>
</tr>
</table> </form>
<script type="text/javascript">
var provinceName = ["z", "f", "a", "j"];//["浙江", "江苏", "安徽", "江西"];
var city1 = ["h", "l", "w", "s", "j", "h"];//["杭州", "宁波", "温州", "绍兴", "金华", "湖州"];
var city2 = ["n", "s", "w", "c", "z", "x"];//["南京", "苏州", "无锡", "常州", "镇江", "徐州"];
var city3 = ["h", "w", "h", "q", "x"];//["合肥", "翕县", "黄山", "祁门", "休宁"];
var city4 = ["n", "j", "l", "s", "x", "j"]; //["南昌", "九江", "赣州", "上饶", "新余", "景德镇"];
//你在ASP输出的页面里应该看到如上这般的JS数组, 能看到则表示成功
function province()
{ var e = document.form1.province;
for (var i=0; i <provinceName.length; i++)
e.options.add(new Option(provinceName[i], provinceName[i]));
}
function cityName(t)
{
var n=t.selectedIndex;
//var e = document.form1.city;
var e=t.parentElement.nextSibling.firstChild;//这是我也的,不对,实现不了
e.options.length = 1;
if (n == 0) return;
var a = eval("city"+ n); //得到城市的数组名
for (var i=0; i <a.length; i++) e.options.add(new Option(a[i], a[i]));
}
window.attachEvent("onload", province); //初始时给省名下拉框赋内容 function addRow()
{
var root = document.getElementById("tbody");
var allRows = root.getElementsByTagName('tr');
var cRow = allRows[0].cloneNode(true)
root.appendChild(cRow);
}
function removeRow(r)
{
var root = r.parentNode;
var allRows = root.getElementsByTagName('tr')
if(allRows.length> 1)
{root.removeChild(r);}
else
alert("only one row left, you can not remove it!");
}
</script> </body>
</html>