jQuery實現的表格新增或者刪除行操作
對於表格的使用應該是非常的熟悉了,下面是一段非常強大的程式碼,能夠實現表格行的新增刪除甚至可以對單元格進行編輯,下面就分享一下次程式碼,希望能夠對大家有所幫助,程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>jQuery動態增刪表格-螞蟻部落</title> <style type="text/css"> table { width:580px; margin:0 auto; } td, #tmpEditor { display:block; float:left; border:1px solid #000000; margin:auto 0.5px; width:60px; height:20px; } #clickTips { border:1px solid #000000; position:absolute; left:3px; width:120px; padding:3px; display:none; background-color:#F5FFFA; z-index:3; } span { float:left; width:100px; height:20px; clear:both; } .cloneTr { display:none; } .newAdd td { background-color:#FFFACD; } .editting td { background-color:#F0F0F0; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ var addToTrTop = 10; var addToTrLeft = 534; var preEdit = null; var inputData = '<input id="tmpEditor" type="text" value="?"></input>'; var bindListening = function(){ //表格點選響應 $("td").unbind().click(function(){ var tdData = $("#tmpEditor").val(); if( !$(this).parent().hasClass('editting')) { preEdit&&preEdit.empty().html(tdData.trim(' ')); preEdit = null; $("#tmpEditor").parent().empty().html($("#tmpEditor").val()); $(".editting").removeClass('editting'); } else if( preEdit && (preEdit.parent().children().index($(preEdit)) != $(this).parent().children().index($(this))) ){ preEdit.empty().html(tdData.trim(' ')); preEdit = null; } else{ if(!$("#tmpEditor").val()) { preEdit = $(this); var tdData = $(this).html(); $(this).empty().append(inputData.replace('?',tdData)); $("#tmpEditor").focus(); } } if(!$(this).parent().hasClass('editting')){ var tipStyle = 'top:'+(parseInt($(this).offset().top)+addToTrTop)+'px;left:'+(parseInt($(this).parent().offset().left)+addToTrLeft)+'px;'; $("#clickTips").attr('style',tipStyle).show(); } bindListening(); }); //向上增加一行 $("#addUp").unbind().click(function(){ doAddTrData($(this),'up'); bindListening(); }); //向下增加一行 $("#addDown").unbind().click(function(){ doAddTrData($(this),'down'); bindListening(); }); //刪除當前行 $("#delete").unbind().click(function(){ doDeleteTrData($(this),'delete'); bindListening(); }); //編輯當前行 $("#edit").unbind().click(function(){ doEditTrData($(this),'edit'); bindListening(); }); var addTrData = $("tr:first").clone(true).attr('class','newAdd'); var getIndex = function(clickedTd,type){ var fields = $("tr"); var addIndex = -1; for(var i=1;i<fields.length;i++){ var tipStyle = clickedTd.parent().attr('style'); var topValue = 'top: '+(parseInt(fields.eq(i).offset().top)+addToTrTop); var ie_topValue = 'top: '+(parseInt(fields.eq(i).offset().top)+(addToTrTop-2)); if((tipStyle.indexOf(topValue) != -1) || (tipStyle.indexOf(ie_topValue) != -1)) { switch(type.toLowerCase()){ case 'up': addIndex = i-1; break; case 'down': case 'edit': case 'delete': addIndex = i; break; } } } return addIndex; } var doAddTrData = function(clickedTd,type){ if(getIndex(clickedTd,type) == -1) return false; else { var index=getIndex(clickedTd,type); } $("table tr").eq(index).after(addTrData); setTimeout('$(".newAdd").attr("class",null)',1000); $("#clickTips").hide(); return false; } var doDeleteTrData = function(clickedTd,type){ if(getIndex(clickedTd,type) == -1) return false; else { var index=getIndex(clickedTd,type); } $("table tr").eq(index).remove(); $("#clickTips").hide(); return false; } var doEditTrData = function(clickedTd,type){ if(getIndex(clickedTd,type) == -1) return false; else { var index=getIndex(clickedTd,type); } $("table tr").eq(index).addClass('editting'); $("#clickTips").hide(); return false; } } bindListening(); }); </script> </head> <body> <div id="tableContainer"> <table> <tr class="cloneTr"> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>1</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>2</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>3</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>4</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>5</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>6</td> </tr> </table> </div> <div id="clickTips"> <span id="addUp">向上增加一行</span> <span id="edit">修改當前一行</span> <span id="addDown">向下增加一行</span> <span id="delete">刪除當前行</span> </div> </body> </html>
相關文章
- jQuery table表格行的新增和刪除jQuery
- 點選新增或者刪除表格行詳解
- jQuery動態新增和刪除表格行jQuery
- jQuery實現的為元素新增或者刪除class樣式類jQuery
- 點選刪除或者新增表格行簡單程式碼例項
- JavaScript點選新增行或者刪除行JavaScript
- jquery實現增加刪除行jQuery
- javascript新增或者刪除table表格行程式碼例項JavaScript行程
- jquery為指定的元素新增或者刪除指定樣式類jQuery
- JavaScript table表格行進行刪除和新增JavaScript
- jquery select下拉選單新增或者刪除option項jQuery
- javascript動態刪除或者新增table表格行程式碼例項JavaScript行程
- javascript實現的動態新增和刪除表格行程式碼JavaScript行程
- jQuery新增或者刪除class樣式類程式碼例項jQuery
- jquery新增或者刪除select下拉選單項程式碼jQuery
- jquery table 的新增和刪除jQuery
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- jQuery 新增和刪除classjQuery
- JavaScript動態新增或者刪除HTML元素JavaScriptHTML
- 利用jquery給指定的table新增一行、刪除一行jQuery
- layui動態新增刪除表格,並獲取表格中的值UI
- Jquery和js實現cookie操作手機浮層廣告;附加:js獲取、新增、刪除cookiejQueryJSCookie
- jQuery為元素新增和刪除classjQuery
- jQuery如何新增和刪除元素jQuery
- jQuery實現的具有淡出效果的元素刪除jQuery
- JavaScript刪除table表格指定行JavaScript
- jQuery刪除表格指定行程式碼例項jQuery行程
- Jquery實現頁面的新增、刪除、全選、取消全選、漸變色jQuery
- js操作 新增刪除table行,並進行重新整理JS
- Excel表格新增編輯或刪除批註Excel
- js實現在陣列的在陣列的開頭和結尾新增或者刪除元素JS陣列
- javascript如何動態刪除或者新增物件屬性JavaScript物件
- jQuery實現的刪除選中核取方塊當前表格行程式碼例項jQuery行程
- jquery實現的class樣式類的新增和刪除切換程式碼例項jQuery
- 動態的新增或者刪除指定元素程式碼例項
- jQuery動畫效果的刪除行效果jQuery動畫
- redis cluster節點/新增刪除操作Redis
- Cookie新增、獲取以及刪除操作Cookie