現在任何事務都追求效率和人性化,當然網頁效果也是如此,如果一個可以編輯數據的表格,編輯到最后一行的時候,點擊可以自動添加一行,這樣算是一個比較人性化的效果,可以免去一絲勞頓之苦,下面分享一段這樣的代碼。
代碼如下:
<!DOCTYPE html><html><head><meta charset=" utf-8"><meta name="author" content="http://www.49028c.com/" /><title>武林網</title><style type="text/css">table {width:800px;margin:50px auto;border-collapse:collapse;border-spacing:0;}table tr, table th, table td {border:1px solid #ddd;font-size:12px;}table tr td:first-child {width:30px;text-align:center;}table td input {width:100%;height:100%;padding:5px 0;border:0 none;}table td input:focus {box-shadow:1px 1px 3px #ddd inset;outline:none;}</style><script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script><script type="text/javascript">$(function(){var oTable = $("#count"), iNum = 1, eEle = '';oTable.on('click', function(e){var target = e.target,oTr = $(target).closest('tr');if(oTr.index() == oTable.find('tr').last().index()){iNum++;eEle = oTr.clone();eEle.find('td').eq(0).text(iNum);}oTable.append(eEle);});});</script>[/size][size=2]</head><body><table id="count"><tr><th>序號</th><th>姓名</th><th>金額[USD]</th><th>時間</th><th>項目</th><th>單位</th><th>備注</th></tr><tr><td>1</td><td><input type="text" /></td><td><input type="text" /></td><td><input type="text" /></td><td><input type="text" /></td><td><input type="text" /></td><td><input type="text" /></td></tr></table></body></html>
以上代碼實現了我們的要求,點擊表格的最后一行,可以自動添加新行,下面介紹一下它的實現過程。
一.代碼注釋:
1.$(function(){}),當文檔結構完全加載完畢再去執行函數中的代碼。
2.var oTable = $("#count"),獲取id屬性值為count的對象,在這里就是表格對象。
3.iNum = 1,聲明一個變量并賦初值為1,以后可以每增加一行就會+1作為行號。
4.eEle = '',聲明一個變量用來存儲行對象。
5.oTable.on('click', function(e){}),為表格對象注冊click事件處理函數。
6.var target = e.target,獲取被點擊的源對象。
7.oTr = $(target).closest('tr'),獲取最近的tr祖輩元素。
8.f(oTr.index()==oTable.find('tr').last().index()),判斷點擊的是否是最后一行。
9.iNum++,iNum的值加1。
10.eEle = oTr.clone(),克隆當前行對象。
11.eEle.find('td').eq(0).text(iNum),設置最后一行第一個單元格的值。
12.oTable.append(eEle),為表格的最后添加行。
關于jQuery實現點擊最后一行實現行自增效果的表格的全部內容先給大家介紹這么多,以上內容給大有注釋,有不明白得地方可以參考下,非常感謝大家一直以來對武林網網站的支持。
新聞熱點
疑難解答