jQuery動態添加和刪除表格行


<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< meta name = "author" content = "http://www.softwhy.com/" />
< title >螞蟻部落</ title >
< script type = "text/javascript" src = "mytest/jQuery/jquery-1.8.3.js" ></ script >
< script type = "text/javascript" >
$(function(){
   $("#addOneRow").click(function(){
     var tempTr=$("tr:first").clone(true);
     $("tr:last").after(tempTr);
     $("tr:last > td > #name").val("");
     $("tr:last > td > #address").val("");
   });
   $(".delOneRow").click(function() {
     if ($("tr").length < 2 ) {
       alert("至少保留一行!");
     }
     else{
       if (confirm("確認刪除?")) {
         $(this).parent().parent().remove();
       }
     }
   });
});
</script>
</ head >
< body >
< table border = "1" >
   < tr >
     < td >姓名:</ td >
     < td >< input type = "text" id = "name" name = "name" /></ td >
     < td >地址:</ td >
     < td >< input type = "text" id = "address" name = "address" /></ td >
     < td >< input type = "button" class = "delOneRow" value = "刪除" /></ td >
   </ tr >
</ table >
< input type = "button" id = "addOneRow" value = "添加一行" />
</ body >
</ html >

上面你的代碼實現添加或者刪除行的功能,下面介紹一下它的實現過程。

一.代碼注釋:

(1).$(function(){}),當文檔結構完全加載完畢再去執行函數中的代碼。

(2).$("#addOneRow").click(function(){}),為添加按鈕注冊click事件處理函數。

(3).var tempTr=$("tr:first").clone(true),克隆第一行的數據,采用深度克隆,具體可以參閱下面的相關閱讀。

(4).$("tr:last").after(tempTr),在最后一行插入克隆的行。

(5).$("tr:last > td > #name").val(""),將最后一個tr行的用戶名文本框的值設置為空,其實就是講新添加的行的文本框的內容設置為空,因為上面采用的是深度拷貝,否則會將數據一起拷貝過來。

(6).$("tr:last > td > #address").val(""),和上面是一樣的道理。

(7).$(".delOneRow").click(function() { }),為刪除按鈕注冊click事件處理函數。

(8).if ($("tr").length < 2) { alert("至少保留一行!"); } ,如果行數只剩下一行,那么就會彈出提示。

(8).else{ if (confirm("確認刪除?")) {$(this).parent().parent().remove();}},點擊刪除的時候彈出確認框,這樣的話會將當前刪除按鈕的父元素的父元素刪除,其實就是tr刪除。

二.相關閱讀:

(1).:first選擇器參閱jQuery :first一章節。 

(2).clone()方法參閱jQuery clone()一章節。 

(3).after()方法參閱jQuery after()一章節。

(4).parent()方法參閱jQuery parent()一章節。

(4).remove()方法參閱jQuery remove()一章節。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM