码迷,mamicode.com
首页 > Web开发 > 详细

js动态给table添加行(tr)

时间:2014-09-01 17:24:03      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   os   io   java   ar   for   

html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> new document </title>
<meta charset="utf-8"/>
<meta name="generator" content="editplus">
<meta name="author" content="">
<meta name="keywords" content="">
<meta name="description" content="">

</head>

<body>
    <div>
        <table width="613" border="0" cellpadding="2" cellspacing="1" id="SignFrame">
              <tr id="trHeader">
                <td width="27" bgcolor="#96E0E2">序号</td>
                <td width="64" bgcolor="#96E0E2">用户姓名</td>
                <td width="98" bgcolor="#96E0E2">电子邮箱</td>
                <td width="92" bgcolor="#96E0E2">固定电话</td>
                <td width="86" bgcolor="#96E0E2">移动手机</td>
                <td width="153" bgcolor="#96E0E2">公司名称</td>
                <td width="57" align="center" bgcolor="#96E0E2">&nbsp;</td>
              </tr>
        </table>
   </div>
   <div>
        <input type="button" name="Submit" value="添加参与人" onclick="AddSignRow()" /> 
        <input type="button" name="Submit2" value="清空" onclick="ClearAllSign()" />
        <input name=‘txtTRLastIndex‘ type=‘hidden‘ id=‘txtTRLastIndex‘ value="1" />
   </div>

</body>
</html>

 

javascript
<script language="javascript">// Example: obj = findObj("image1");
    function findObj(theObj, theDoc){ 
        var p, i, foundObj; 
        if(!theDoc){
            theDoc = document;
        }
        
        if( (p = theObj.indexOf("?")) > 0 && parent.frames.length){
            theDoc = parent.frames[theObj.substring(p+1)].document;
            theObj = theObj.substring(0,p); 
        }

        if(!(foundObj = theDoc[theObj]) && theDoc.all){
            foundObj = theDoc.all[theObj];
        }

        for (i=0; !foundObj && i < theDoc.forms.length; i++){
            foundObj = theDoc.forms[i][theObj];
        }
        
        for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++){
            foundObj = findObj(theObj,theDoc.layers[i].document);
        }
        
        if(!foundObj && document.getElementById){
            foundObj = document.getElementById(theObj);
            return foundObj;
        }
    }
    
    
    //添加一个参与人填写行
    function AddSignRow(){ 
        //读取最后一行的行号,存放在txtTRLastIndex文本框中 
        var txtTRLastIndex = findObj("txtTRLastIndex",document);
        var rowID = parseInt(txtTRLastIndex.value);

        var signFrame = findObj("SignFrame",document);
        //添加行
        var newTR = signFrame.insertRow(signFrame.rows.length);
        newTR.id = "SignItem" + rowID;

        //添加列:序号
        var newNameTD = newTR.insertCell(0);
        //添加列内容
        newNameTD.innerHTML = newTR.rowIndex.toString();

        //添加列:姓名
        var newNameTD = newTR.insertCell(1);
        //添加列内容
        newNameTD.innerHTML = "<input name=‘txtName" + rowID + "‘ id=‘txtName" + rowID + "‘ type=‘text‘ size=‘12‘ />";

        //添加列:电子邮箱
        var newEmailTD = newTR.insertCell(2);
        //添加列内容
        newEmailTD.innerHTML = "<input name=‘txtEMail" + rowID + "‘ id=‘txtEmail" + rowID + "‘ type=‘text‘ size=‘20‘ />";

        //添加列:电话
        var newTelTD = newTR.insertCell(3);
        //添加列内容
        newTelTD.innerHTML = "<input name=‘txtTel" + rowID + "‘ id=‘txtTel" + rowID + "‘ type=‘text‘ size=‘10‘ />";

        //添加列:手机
        var newMobileTD = newTR.insertCell(4);
        //添加列内容
        newMobileTD.innerHTML = "<input name=‘txtMobile" + rowID + "‘ id=‘txtMobile" + rowID + "‘ type=‘text‘ size=‘12‘ />";

        //添加列:公司名
        var newCompanyTD = newTR.insertCell(5);
        //添加列内容
        newCompanyTD.innerHTML = "<input name=‘txtCompany" + rowID + "‘ id=‘txtCompany" + rowID + "‘ type=‘text‘ size=‘20‘ />";

        //添加列:删除按钮
        var newDeleteTD = newTR.insertCell(6);
        
        //添加列内容
        newDeleteTD.innerHTML = "<div align=‘center‘ style=‘width:40px‘><a href=‘javascript:;‘ onclick=\"DeleteSignRow(‘SignItem" + rowID + "‘)\">删除</a></div>";

        //将行号推进下一行
        txtTRLastIndex.value = (rowID + 1).toString() ;
    }
    
    //删除指定行
    function DeleteSignRow(rowid){
        var signFrame = findObj("SignFrame",document);
        var signItem = findObj(rowid,document);

        //获取将要删除的行的Index
        var rowIndex = signItem.rowIndex;

        //删除指定Index的行
        signFrame.deleteRow(rowIndex);

        //重新排列序号,如果没有序号,这一步省略
        for(i=rowIndex;i<signFrame.rows.length;i++){
            signFrame.rows[i].cells[0].innerHTML = i.toString();
        }
    }
    
    //清空列表
    function ClearAllSign(){
        if(confirm(‘确定要清空所有参与人吗?‘)){
            var signFrame = findObj("SignFrame",document);
            var rowscount = signFrame.rows.length;

            //循环删除行,从最后一行往前删除
            for(i=rowscount - 1;i > 0; i--){
               signFrame.deleteRow(i);
            }

            //重置最后行号为1
            var txtTRLastIndex = findObj("txtTRLastIndex",document);
            txtTRLastIndex.value = "1";

            //预添加一行
            AddSignRow();
        }
    }
</script>

 

 

js动态给table添加行(tr)

标签:des   style   blog   color   os   io   java   ar   for   

原文地址:http://www.cnblogs.com/phpfensi/p/3949519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!