描述:当用户点击添加数据的时候,弹出一个模态框,其他位置不可点击,点击关闭按钮的时候,关闭模态框。当输入姓名或专业之后,点击添加,就会在表格里面添加一行数据,如果内容为空就不可以添加数据,就会弹出输入内容不能为空。当点击删除按钮的时候,则会删除当前行。jquery版本是1.8。
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动态添加和删除表格数据</title>
<style>
* {
padding: 0;
margin: 0;
}
.wrap {
width: 410px;
margin: 100px auto 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
border: 1px solid #c0c0c0;
}
th,
td {
border: 1px solid #d0d0d0;
color: #404060;
padding: 10px;
}
th {
background-color: #09c;
font: bold 16px "微软雅黑";
color: #fff;
}
td {
font: 14px "微软雅黑";
}
td a.get {
text-decoration: none;
}
a.del:hover {
text-decoration: underline;
}
tbody tr {
background-color: #f0f0f0;
}
tbody tr:hover {
cursor: pointer;
background-color: #fafafa;
}
.btnAdd {
width: 110px;
height: 30px;
font-size: 20px;
font-weight: bold;
}
.form-item {
height: 100%;
position: relative;
padding-left: 100px;
padding-right: 20px;
margin-bottom: 34px;
line-height: 36px;
}
.form-item > .lb {
position: absolute;
left: 0;
top: 0;
display: block;
width: 100px;
text-align: right;
}
.form-item > .txt {
width: 300px;
height: 32px;
}
.mask {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background: #000;
opacity: 0.5;
display: none;
}
.form-add {
position: fixed;
top: 30%;
left: 50%;
margin-left: -197px;
padding-bottom: 20px;
background: #fff;
display: none;
}
.form-add-title {
background-color: #f7f7f7;
border-width: 1px 1px 0 1px;
border-bottom: 0;
margin-bottom: 15px;
position: relative;
}
.form-add-title span {
width: auto;
height: 18px;
font-size: 16px;
font-family: 宋体;
font-weight: bold;
color: rgb(102, 102, 102);
text-indent: 12px;
padding: 8px 0px 10px;
margin-right: 10px;
display: block;
overflow: hidden;
text-align: left;
}
.form-add-title div {
width: 16px;
height: 20px;
position: absolute;
right: 10px;
top: 6px;
font-size: 30px;
line-height: 16px;
cursor: pointer;
}
.form-submit {
text-align: center;
}
.form-submit input {
width: 170px;
height: 32px;
}
</style>
<script src="jquery.min.js"></script>
<script>
$(function () {
//点击按钮显示遮罩层和添加数据表格
$("#j_btnAddData").click(function () {
$("#j_mask").show();
$("#j_formAdd").show();
});
//点击里面的关闭按钮隐藏遮罩层和添加数据表格
$("#j_hideFormAdd").click(function () {
$("#j_mask").hide();
$("#j_formAdd").hide();
});
//点击删除所在的标签,删除所在的tr
$("a.get").click(function () {
$(this).parent("td").parent("tr").remove();
});
//点击里面的添加内容,全部能容这个成tr嵌套td的形式添加到tbody中
//点击里面的添加内容,全部能容这个成tr嵌套td的形式添加到tbody中
$("#j_btnAdd").click(function () {
if($("#j_txtLesson").val===""){
alert("内容不能为空");
return;
}
var tr = $("<tr></tr>");
tr.html('<td>'+$("#j_txtLesson").val()+'</td><td>'+$("#j_txtBelSch").val()+'</td><td><a href="javascrip:;" class="get">删除</a></td>');
$("#j_tb").append(tr);
//新产生的tr没有时间绑定
tr.find("a").click(function () {
tr.remove();
});
$("#j_mask").hide();
$("#j_formAdd").hide();
$("#j_txtLesson").val("");
});
})
</script>
</head>
<body>
<div class="wrap">
<div>
<input type="button" value="添加数据" id="j_btnAddData" class="btnAdd"/>
</div>
<table>
<thead>
<tr>
<th>姓名</th>
<th>专业</th>
<th>删除</th>
</tr>
</thead>
<tbody id="j_tb">
<tr>
<td>孙肖宁</td>
<td>软件工程</td>
<td><a href="javascrip:;" class="get">删除</a></td>
</tr>
<tr>
<td>css</td>
<td>小宁博客</td>
<td><a href="javascrip:;" class="get">删除</a></td>
</tr>
<tr>
<td>小宁</td>
<td>软件工程</td>
<td><a href="javascrip:;" class="get">删除</a></td>
</tr>
<tr>
<td>小宁论坛</td>
<td>软件工程</td>
<td><a href="javascrip:;" class="get">删除</a></td>
</tr>
</tbody>
</table>
</div>
<div id="j_mask" class="mask"></div>
<div id="j_formAdd" class="form-add">
<div class="form-add-title">
<span>添加数据</span>
<div id="j_hideFormAdd">x</div>
</div>
<div class="form-item">
<label class="lb" for="j_txtLesson">姓名:</label>
<input class="txt" type="text" id="j_txtLesson" placeholder="请输入姓名">
</div>
<div class="form-item">
<label class="lb" for="j_txtBelSch">专业:</label>
<input class="txt" type="text" id="j_txtBelSch" value="软件工程">
</div>
<div class="form-submit">
<input type="button" value="添加" id="j_btnAdd">
</div>
</div>
</body>
</html>