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/