首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求自动增加行的js代码,要用到两个按钮,该如何解决

2012-02-24 
求自动增加行的js代码,要用到两个按钮界面上要用到两个自动增加行的按钮,请用JS实现,收到马上给分谢谢!注

求自动增加行的js代码,要用到两个按钮
界面上要用到两个自动增加行的按钮,请用JS实现,收到马上给分;谢谢!
注意:是一个按钮自动增加一行(一行中有input和下拉框),另外一个按钮自动增加另外一行(一行中有input和下拉框).

[解决办法]
前些天正好用,在网上找了个,自己改了些东西,给你参考下.

<!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>
<style type= "text/css ">
<!--
.list_over
{
background: #8080ff;font: italic medium; color: #ffff00;
}
.list_bg1
{
background: #80ff00;
}
.list_bg2
{
background: #FF0000;
}
-->
</style>

<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> 无标题文档 </title>

<script language= "javascript ">

function addRow(){
var lastRow=filetb.rows[filetb.rows.length-1];
alert(lastRow.innerHTML);
var lr=filetb.insertRow(filetb.rows.length);
lr.innerHTML=lastRow.innerHTML;
}
/*
动态添加table.将table中的text的值存入另一text中,在后台得到另一text的值
注意:1。OnChanged将“text的值存入另一text中”。如果此事件写入后台代码,将得不到。因为被postback掉了。
故先存,再运行后台代码。
2。在html中有一table,名字为filetb。
如果需要动态修改,在table里添加literal.text.
*/
var allCount;
allCount=0;
function addAttachment() {
allCount++;
var Num,p,myrow,indexnewrow,c1,c2,c3,c4;
var rown=filetb.rows.length;
myrow=filetb.insertRow(rown);
myrow.id= "tdt "+allCount;
myrow.name= "tdt "+allCount;
var cName= "list_bg2 ";
if(rown%2==0){
cName= "list_bg1 ";
}
myrow.className=cName;
myrow.onmouseover=function(){this.className= "list_over ";};
myrow.onmouseout=function(){this.className=cName;};
c1=myrow.insertCell();
c1.width= "100 ";
c1.align= "right ";
c1.innerHTML= " <p align=right> 代码 " + (allCount) + ": ";

c2=myrow.insertCell();
c2.align= "left ";
c2.innerHTML= " <INPUT type= 'text ' onchange= 'return GetValue() ' style= 'width:150 ' class=t1 name=txtCode1 "+(allCount)+ " MaxLength= '50 ' value=\ "a "+allCount+ "\ "> ";
c3=myrow.insertCell();
c3.align= "center ";
c3.innerHTML= " <a href= 'javascript:setValue( " + allCount + "); '> 取值 </a> &nbsp;&nbsp;&nbsp; <a href= 'javascript:deleteRow( " + allCount + "); '> 删除 </a> ";
c4=myrow.insertCell();
c4.align= "left ";
c4.innerHTML= " <INPUT type= 'text ' onchange= 'return GetValue() ' style= 'width:150 ' class=t1 name=txtCode2 "+(allCount)+ " MaxLength= '50 ' value=\ "b "+allCount+ "\ "> ";
}
function setValue(rid){
for(i=0;i <filetb.rows.length;i++){
var curRow=filetb.rows[i];
if( 'tdt '+rid==curRow.id){
var ins=curRow.getElementsByTagName( "INPUT ");
for(j=0;j <ins.length;j++){
var curIn=ins[j];
document.getElementById( "di ").innerHTML+= "控件名称: "+curIn.name+ " <br> 值: "+curIn.value+ " <br> ";
//alert(curIn.name+ "\n "+curIn.value);
}
}
}
}
function GetValue()
{
var id;


var a;
var b;
for(i=0;i <filetb.rows.length;i++)
{
a = filetb.rows(i).cells(0).innerText;
a = a.substring(2,3);
id = "txtCode " + a;
document.all( "txt ").value += document.all(id).value;
}
}
//删除,,换个方法
function deleteRow(rid){
// alert(document.getElementsByTagName( "tr ").length);
// alert(filetb.getElementsByTagName( "tr ").length);

for(i=0;i <filetb.rows.length;i++){
var curRow=filetb.rows[i];
if( 'tdt '+rid==curRow.id){
document.getElementById( "di ").innerHTML+= "删除行: "+rid+ " <br> ";
filetb.deleteRow(i);
}
}
}
function removeatt(ln)
{
var i
var tdname
var tdln
var line=ln;
if (line> 0) {
for (i=0;i <filetb.rows.length;i++) {
tdname=filetb.rows[i].name;
tdln=tdname.substring(3,tdname.length);
if (tdln==line) {
filetb.deleteRow(i);
break;
}
}
}
}
</script>
</head>
<body>
<form id= "form1 " name= "form1 " method= "post " action= " " runat= "server ">

<input type=button onclick= "return addAttachment() " id=btnNew value= "增加 " />
<input type= "text " id=txt />
<table>
<tr> <td>
<table id= "filetb " border= "1 ">
<TR name= "aa " class= "list_over ">
<Td width= "100px "> a </Td>
<Td width= "160px "> b </Td>
<Td width= "100px "> c </Td>
<Td width= "160px "> d </Td>
</TR>
</table>
</td> </tr>
</table>
</form>
<div id= "di "> </div>
</body>
</html>

[解决办法]
注意:是一个按钮自动增加一行(一行中有input和下拉框),另外一个按钮自动增加另外一行(一行中有input和下拉框).

???我怎么看这两个按钮的功能是一样的?
[解决办法]
一样的道理撒
[解决办法]
网上搜一下有好多
[解决办法]
for(var i = 0 ; i <loop; i++){ //loop等于你要加的行数
addRow();
}


/**
* 新增一行
*/
function addRow(row_id)
var table = document.getElementById( "tableId "); // tableId 是你表格的id
var tr = table.insertRow();
tr.id=row_id;
var td = tr.insertCell();
var span = document.createElement( "SPAN ");
var text = document.createElement( "INPUT "); //你要的input
text.type= "text "; //这里是你的input 的类型,text,file,radio,checkbox等
span.appendChild(text);
var select = document.createElement( "select "); //下拉框
var option1 = document.createElement( "option ");
option1.text = "请选择 ";
option1.value = "0 ";
var option2 = document.createElement( "option ");
option2.text = "JAVA ";
option2.value = "1 ";
select.add(option1);
select.add(option2);
span.appendChild(select);
td.appendChild(span);
}
/**
* 删除 根据id
*/
function del_row(row_id){


var obj= document.getElementById(row_id);
if(obj)obj.parentNode.removeChild(obj);
}

/**
* 删除 根据index
*/
function del_row(index){//index为第几行
var table= document.getElementById( "tableId ");
table.deleteRow(index);
}
[解决办法]
for(var i = 0 ; i <loop; i++){ //loop等于你要加的行数
addRow( "tr_ "+i);//可以传ID
}
[解决办法]
<INPUT type= "button " value= "增加 " onclick= "addRow() ">

<select onchange= "add(this.value) ">

<option value= "1 "> 1行 </option>
<option value= "3 "> 3行 </option>

</select>

function add(str){
for(var i = 0 ; i <str;i++){
addRow( "tr_ "+i);
}
}
[解决办法]
无法跨浏览器。
[解决办法]
要跨浏览器的话只要在创建行列的时候加上位置index 应该可以的
[解决办法]
楼主的问题搞定了吗?
[解决办法]
<td > 你要增加的行数 </td>
<td>
<select name= "add " >
<option value= "l "> 1 </option>
<option value= "2 "> 2 </option>
<option value= "n "> n </option>
</select>
</td>
<input type=botton value= "增加 " name= "submit " id= "submit " onclick= "return checkdata() " />
<script language= "javascript ">
var n =document.form.all( "add ").value;
function checkdata(){
for(var i = 0 ; i <n; i++){ //loop等于你要加的行数
addRow();
}
}
[解决办法]
上面不都写出来了吗
增加多行用个循环就搞定了
[解决办法]
写个虚FUNCTION更好,运用面向对象的方法

热点排行