#### HTML结构
<div class="donation-management">
<h3 class="title">捐赠管理</h3>
<!-- 受捐单位 -->
<div class="recipient">
<div class="content">
<span>受捐单位:</span>
<select class="searchOpt">
<option>全部</option>
<option>壹基金</option>
<option>嫣然基金</option>
<option>自然之友</option>
</select>
<button class="search">查询</button>
</div>
</div>
<!-- 捐赠人金额日期等内容 -->
<div class="donor">
<div class="content">
<!-- 第一部分 捐赠人 -->
<div class="person">
<span>捐赠人:</span>
<input type="text" class="getDonor" />
</div>
<!-- 第二部分 受捐单位 -->
<div class="unit">
<span>受捐单位:</span>
<select class="getUnit">
<option>壹基金</option>
<option>嫣然基金</option>
<option>自然之友</option>
</select>
</div>
<!-- 第三部分 金额 -->
<div class="money">
<span>金额:</span>
<input type="text" class="getMoney" />
</div>
<!-- 第四部分 受捐日期 -->
<div class="date">
<span>受捐日期:</span>
<input type="datetime-local" class="getDate test1" id="test1" placeholder="请选择日期" />
</div>
<!-- 新增按钮 -->
<button class="add">新增</button>
</div>
</div>
<!-- 表格部分 -->
<table class="table table-bordered donation-list text-center">
<!-- 表格头 标题 -->
<thead>
<tr class="bg-primary">
<th>序号</th>
<th>捐赠人</th>
<th>受捐单位</th>
<th>金额</th>
<th>受捐日期</th>
<th>操作</th>
</tr>
</thead>
<!-- 表格内容 -->
<tbody>
<!-- <tr class="table-content">
<td>1</td>
<td>这是姓名</td>
<td>这是单位</td>
<td>这是多少钱</td>
<td>这是捐赠日期</td>
<td>
<a href="#" class="del">删</a>
<a href="#" class="update" data-name="这是姓名" data-dep="这是单位">改</a>
</td>
</tr> -->
</tbody>
</table>
</div>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">编辑</h4>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group">
<label for="name" class="col-sm-2 control-label">捐赠人</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="person" placeholder="请输入分类名称" />
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label">金额</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="money" placeholder="请输入金额" />
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label">受捐单位</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="unit" placeholder="请输入受捐单位" />
</div>
</div>
<div class="form-group">
<label for="slug" class="col-sm-2 control-label">受捐日期</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="date" placeholder="请输入受捐日期" />
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">
取消
</button>
<button type="button" class="btn btn-primary btnsave">保存</button>
</div>
</div>
</div>
</div>
CSS样式
width: 980px;
/* height: 370px; */
/* background-color: #6cf; */
padding: 0 15px;
margin: 100px auto;
}
.donation-management .title {
text-align: center;
}
th {
text-align: center;
}
span {
padding-left: 5px;
}
.recipient,
.donor {
display: flex;
width: 950px;
height: 40px;
border: 1px solid #337ab7;
}
.donor {
margin-top: 1px;
}
.recipient .content,
.donor .content {
display: flex;
justify-content: space-evenly;
align-items: center;
}
.recipient .content {
width: 237px;
/* background-color: #0a0; */
}
JS部分 使用了bootstrap框架和JQuery
//本地存储
let donorlist = JSON.parse(this.localStorage.getItem('donor_1')) ||[]
//渲染数据
function init(arr = donorlist){
let htmlStr = ''
arr.forEach(function(v,i){
htmlStr += `<tr class="table-content">
<td>${i+1}</td>
<td>${v.person}</td>
<td>${v.unit}</td>
<td>${v.money}</td>
<td>${v.date}</td>
<td>
<a href="#" class="del" data-id = "${v.id}">删</a>
<a href="#" class="update" data-id = "${v.id}">改</a>
</td>
</tr>`
})
tbody.innerHTML = htmlStr
localStorage.setItem('donor_1',JSON.stringify(donorlist))
}
init()
//新增按钮
add.addEventListener('click',function(){
let donorReg = /^[\u4e00-\u9fa5]|[a-zA-Z]$/
if(!getDonor.value || !donorReg.test(getDonor.value)){
alert('请输入正确的捐赠人')
}else if (!getMoney.value ||isNaN(getMoney.value)){
alert('请您输入正确的捐款额')
}
else{
let obj = {
id: donorlist.length > 0?donorlist[donorlist.length-1].id +1:666,
person: getDonor.value,
unit: getUnit.value,
money: getMoney.value,
date: formatTime(getDate.value)
}
donorlist.push(obj)
init()
}
})
//事件委托
tbody.addEventListener('click',function(e){
//删除按钮
if(e.target.className == 'del'){
let id = e.target.dataset.id
donorlist.forEach(function(v,i){
if(v.id == id){
donorlist.splice(i,1)
init()
}
})
}
//修改按钮
if(e.target.className == 'update'){
let id = e.target.dataset.id
$('#myModal').modal('show')
donorlist.forEach(function(value,index){
if(value.id == id){
dataId = id
personEle.value = value.person
moneyEle.value = value.money
unitEle.value = value.unit
dateEle.value = value.date
}
})
}
})
//保存按钮
btnsave.addEventListener('click',function(){
donorlist.forEach(function(value,index){
if(value.id == dataId){
value.person = personEle.value
value.money = moneyEle.value
value.unit = unitEle.value
value.date = dateEle.value
init()
$('#myModal').modal('hide')
}
})
})
//查询按钮
search.addEventListener('click',function(){
let option = searchOpt.value
if(option =='全部'){
init()
}else{
let temp = donorlist.filter(function(value){
return value.unit == option
})
init(temp)
}
})
//格式化时间
function formatTime(){
let time = new Date()
let year = time.getFullYear()
let month = time.getMonth() +1
let day = time.getDate()
// let week = time.getDay()
let hour = time.getHours()
let minute = time.getMinutes()
let second = time.getSeconds()
return `${year}-${month}-${day} ${hour}:${minute}:${second}`
}