1. 程式人生 > >js如何動態新增表格

js如何動態新增表格

<html>  
    <head>  
        <title>Add table</title>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    </head>  
    <script type="text/javascript" src="jquery-1.4.4.min.js"></script>  
    <body>  
          
        <table border="1px" id="targetTable">  
            <tr border="1px">  
                <td>序號</td>  
                <td>姓名</td>  
                <td>年齡</td>  
                <td>生日</td>  
                <td>備註</td>  
            </tr>  
            <tr  id="model" style="display:none" border="1px">  
                <td></td>  
                <td><input type="text" name="username"></td>  
                <td><input type="text" name="age"></td>  
                <td><input type="text" name="birthday"></td>  
                <td><input type="text" name="note"><span onclick="del(this)">刪除</span></td>  
            </tr>  
        </table>  
          
        <br>  
        <br>  
          
        使用者輸入表單:  
        姓名<input type="text" name="u_username"><br>  
        年齡<input type="text" name="u_age"><br>  
        生日<input type="text" name="u_birthday"><br>  
        備註<input type="text" name="u_note"><br>  
        <button onclick="add()" style="font-size:12px">新增</button>  
          
    </body>  
<html>      
  
<script>  
function del(obj){  
    //alert($(obj).closest("tr").attr("outerHTML"));  
    //$(obj).closest("tr").attr("outerHTML","")  
    $(obj).closest("tr").remove();  
    resetSequenceNum();  
}  
  
function add(){  
    //獲取表單的值  
    var u_username = $("input[name='u_username']").val();  
    var u_age = $("input[name='u_age']").val();  
    var u_birthday = $("input[name='u_birthday']").val();  
    var u_note = $("input[name='u_note']").val();  
    //alert(u_username);  
    //判斷表單的值是否為空  
    if(u_username=="" || u_username==undefined){  
        alert("使用者姓名不能為空");  
        $("input[name='u_username']").focus();  
        return false;  
    }  
    //快取要賦值的內容,避免多次查詢,提高效率  
    var trstr = $("#model").attr("outerHTML");  
    //alert(trstr);  
    //複製最後一行的程式碼新增到表的最後一行  
    $("#targetTable tr").last().after(trstr);  
    //$("#targetTable").find("tr").last().after(trstr);  
    //讓最後一行顯示出來,而不是隱藏  
    //$("#targetTable tr").last().css("display","block");會出現瀏覽器相容的問題,在ff中顯示不正常  
    $("#targetTable tr").last().css("display","");  
    //賦值  
    var target = $("#targetTable tr").last().find("td");  
    target.find("input[name='username']").val(u_username);  
    target.find("input[name='age']").val(u_age);  
    target.find("input[name='birthday']").val(u_birthday);  
    target.find("input[name='note']").val(u_note);  
      
      
    resetValue();  
  
    resetSequenceNum();  
}  
  
//清空表單的值  
function resetValue(){  
    $("input[name='u_username']").val("");  
    $("input[name='u_age']").val("");  
    $("input[name='u_birthday']").val("");  
    $("input[name='u_note']").val("");  
}  
  
//重新設定序號  
function resetSequenceNum(){  
    var num=0;  
    $("#targetTable tr").each(function(index,dom){  
        if(index!=0){  
            $(dom).find("td").first().html(num);  
            num++;  
        }  
    });  
}  
  
</script>  
要引入·1.4以上的版本jquery