2024年07月25日 建站教程
1、表格html代码
<table class="table table-bordered table-hover"> <tr class="info"> <td>姓名</td> <td>性别</td> <td>年龄</td> <td>电话</td> <td>操作</td> </tr> <tr> <td colspan="5" class="danger"><button class="btn btn-primary btn-sm">增加</button></td> </tr> </table>
2、jquery代码
$(function(){ //获取本地存储数据,并且转换成对象 var arr = []; function getData(){ if(localStorage.tableList == undefined){ arr = []; }else{ arr = JSON.parse(localStorage.tableList); } return arr; } add() //把数据存到本地存储,并且转换成字符串格式的JSON function saveData(data){ localStorage.tableList = JSON.stringify(data); } //增加行方法 function add(){ $("tr:not(tr:first,tr:last)").remove();//每次增加行前删除前面的行,否则会重复增加 var data = getData(); $.each(data,function(i, v){ $("<tr>").attr("index",i).html("<td contenteditable='true' data-role='name'>" + v.name + "</td>" + "<td contenteditable='true' data-role='sex'>" + v.sex + "</td>" + "<td contenteditable='true' data-role='age'>" + v.age + "</td>" + "<td contenteditable='true' data-role='tel'>" + v.tel + "</td>" + "<td><button class='btn btn-danger btn-sm'>删除</button></td>").insertBefore("tr:last"); }) saveData(data); } //点击增加按钮事件 $('.btn-sm').click(function(){ var data = getData(); data.push({"name": "", "sex": "", "age": "", "tel": ""}); saveData(data); add(); }) //删除行方法,事件委派,根据当前点击的按钮的行的索引值 $('table').on('click','.btn-danger',function(){ var data = getData(); var index = $(this).parent().parent().attr("index"); data.splice(index,1); saveData(data); add(); }) //可编辑效果 contenteditable='true' $('table').on('blur','[contenteditable="true"]',function(){ var data = getData(); var index = $(this).parent().attr('index'); var val = $(this).html(); var attr = $(this).attr('data-role'); data[index][attr] = val; saveData(data); }) })
本文链接:http://so.lmcjl.com/news/9148/