我对css不是会,只会写一点点,刚开始学习jquery,写的代码也有很冗余,而且,目前为止还有两个bug
1.点击全选按钮,点一次,全部选中,再点击一下,全部取消。到这里没有问题,可是再点击页面上的复选框显示的是未选中,可是用F12查看代码,是选中状态
2.点击添加按钮,会弹出个框,添加内容正确,再点击添加,再确定,会添加两次。
<!--
页面需求:
1.在页面中创建一个表格,用于展示多项信息,各行间采用隔行变色的方法展示各行数据。
2.点击全选按钮可以实现全部选中
1.点击全部选中,再点击删除按钮可以删除全部
3.点击添加可以弹出框,并且添加内容
-->
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>My Excise</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<style type="text/css">
td ,th{
width:100px;
height:30px;
text-align:center;
line-height:30px;
border:1px solid #abcdef
}
#tableOpt{
width:620px;
height:50px;
line-height:50px;
margin-top:10px;
border:2px solid #abcdef;
}
span.del,span.add{
width:70px;
padding:3px;
background-color:#c1c1c1;
border:1px solid #333;
cursor:pointer;
}
span.click{
background-color:#f00;
}
div.mask{
background: #000;
opacity: 0.4;
position: absolute;
left: 0;
top: 0;
z-index: 1;
}
div#pop{
width:300px;
height:230px;
border:2px solid #ccc;
position:absolute;
top:0;
left:0;
z-index: 2;
background-color:#fff;
}
dt,dd{
height:30px;
}
span.title{
font-size:16px;
font-weight:bold;
}
span.close{
margin-left:200px;
cursor:pointer;
padding:5px;
background-color:#ccc;
}
.hide{
display:none;
}
dd.opt{
margin-top:5px;
}
span.sure{
padding:4px;
border:2px solid #ccc;
cursor:pointer;
}
span.cancel {
border: 2px solid #ccc;
padding: 4px;
margin-left: 100px;
cursor:pointer;
}
</style>
<script type="text/javascript">
$(function(){
var spanDel = $('span.del');
var spanAdd = $('span.add');
var trS = $('table tr').not(':first');
var checkAll = $('input#allCheck');
var divMask = '<div class="mask"></div>';
var maskWidth = $(document).width();
var maskHeight = $(document).height();
var popWidth = $('#pop').outerWidth();
var popHeight = $('#pop').outerHeight();
ColorChange($('table tr').not(':first'));
/* 全部选择按钮的实现*/
checkAll.click(function(){
var trS = $('table tr').not(':first');
if($(this).attr('value') == 0){
trS.each(function(){
$(this).children()
.first()
.children()
.attr('checked',true);
checkAll.attr('value',1);
});
}else if($(this).attr('value') == 1){
trS.each(function(){
$(this).children()
.first()
.children()
.attr('checked',false);
checkAll.attr('value',0);
})
}
});
/* 删除按钮的实现*/
spanDel.click(function(){
var trS = $('table tr').not(':first');
trS.each(function(){
var firstInput = $(this).children().first().children();
if(firstInput.attr('checked')){
$(this).remove();
}
});
ColorChange($('tr').not(':first'));
});
/*添加按钮的实现*/
spanAdd.click(function(){
$('#main').append(divMask);
$('div.mask').width(maskWidth).height(maskHeight);
var pop = $('#pop');
//pop 的left = ($(document).width() - $('#pop').outerWidth())/2;
//pop 的top = ($(document).height() - $('#pop').outerHeight())/2;
var left = ($(document).width() - $('#pop').outerWidth())/2;
var top = ($(document).height() - $('#pop').outerHeight())/2;
pop.show().css({
'top': top+ 'px',
'left': left+ 'px'
});
//close 按钮
var closeBut = $('span.close');
closeBut.click(function(){
pop.hide();
$('div.mask').hide();
});
//pop添加按钮
var sureBut = $('span.sure');
sureBut.click(function(){
var insert = '';
var usrname = $('[name="usrname"]').val();
var usrage = $('[name="usrage"]').val();
var usrsex = $('[name="usrsex"]').val();
var usrEducation = $('[name="usrEducation"]').val();
var usrPosition = $('[name="usrPosition"]').val();
var nowNum = $('table>tbody>tr').length;
if(usrname != '' || usrage != '' || usrsex != '' || usrEducation != '' || usrPosition != ''){
insert += " <tr><td><input type='checkbox' value="+ nowNum + " οnclick='changeCheck(this.value)'/></td><td>" + usrname + "</td><td>" + usrage + "</td><td>" + usrsex + "</td><td>" + usrEducation + "</td><td>" + usrPosition + "</td></tr>";
$('table>tbody').append(insert);
ColorChange($('table tbody tr').not(':first'));
pop.hide();
$('div.mask').hide();
}else{
alert("没有输入");
}
});
/*pop 里的取消按钮的实现*/
$('span.cancel').click(function(){
var dl = $('#content').children().not(':first').not(':last');
dl.each(function(){
var black = "";
$(this).children().val(black);
});
});
});
/*表格的各行变色的实现*/
function ColorChange(selector){
selector.filter(':odd').css('background-color','#007aff');
selector.filter(':even').css('background-color','#ccc');
}
});
/* 单个checkbox添加 checked属性*/
function changeCheck(value){
var tr = $('table tr').not(':first');
tr.each(function(i){
if(i == value){
$(this).children()
.first()
.children()
.attr('checked',true);
}
});
}
</script>
</head>
<body>
<div id="main" class="">
<table border="0" cellspacing="0">
<tbody>
<tr>
<th>选项</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>学历</th>
<th>职位</th>
</tr>
<tr>
<td>
<input type="checkbox" value="0" οnclick="changeCheck(this.value)">
</td>
<td>黄一</td>
<td>24</td>
<td>女</td>
<td>本科</td>
<td>员工</td>
</tr>
<tr>
<td><input type="checkbox" value="1" οnclick="changeCheck(this.value)"></td>
<td>王二</td>
<td>32</td>
<td>男</td>
<td>本科</td>
<td>客户经理</td>
</tr>
<tr>
<td><input type="checkbox" value="2" οnclick="changeCheck(this.value)"></td>
<td>张五</td>
<td>27</td>
<td>男</td>
<td>研究生</td>
<td>经理</td>
</tr>
<tr>
<td><input type="checkbox" value="3" οnclick="changeCheck(this.value)"></td>
<td>黄一</td>
<td>24</td>
<td>女</td>
<td>本科</td>
<td>员工</td>
</tr>
<tr>
<td><input type="checkbox" value="4" οnclick="changeCheck(this.value)"></td>
<td>王二</td>
<td>32</td>
<td>男</td>
<td>本科</td>
<td>客户经理</td>
</tr>
<tr>
<td><input type="checkbox" value="5" οnclick="changeCheck(this.value)"></td>
<td>张五</td>
<td>27</td>
<td>男</td>
<td>研究生</td>
<td>经理</td>
</tr>
<tr>
<td><input type="checkbox" value="6" οnclick="changeCheck(this.value)"></td>
<td>黄一</td>
<td>24</td>
<td>女</td>
<td>本科</td>
<td>员工</td>
</tr>
<tr>
<td><input type="checkbox" value="7" οnclick="changeCheck(this.value)"></td>
<td>王二</td>
<td>32</td>
<td>男</td>
<td>本科</td>
<td>客户经理</td>
</tr>
<tr>
<td><input type="checkbox" value="8" οnclick="changeCheck(this.value)"></td>
<td>张五</td>
<td>27</td>
<td>男</td>
<td>研究生</td>
<td>经理</td>
</tr>
<tr>
<td><input type="checkbox" value="9" οnclick="changeCheck(this.value)"></td>
<td>黄一</td>
<td>24</td>
<td>女</td>
<td>本科</td>
<td>员工</td>
</tr>
<tr>
<td><input type="checkbox" value="10" οnclick="changeCheck(this.value)"></td>
<td>王二</td>
<td>32</td>
<td>男</td>
<td>本科</td>
<td>客户经理</td>
</tr>
<tr>
<td><input type="checkbox" value="11" οnclick="changeCheck(this.value)"></td>
<td>张五</td>
<td>27</td>
<td>男</td>
<td>研究生</td>
<td>经理</td>
</tr>
<tr>
<td><input type="checkbox" value="12" οnclick="changeCheck(this.value)"></td>
<td>黄一</td>
<td>24</td>
<td>女</td>
<td>本科</td>
<td>员工</td>
</tr>
<tr>
<td><input type="checkbox" value="13" οnclick="changeCheck(this.value)"></td>
<td>王二</td>
<td>32</td>
<td>男</td>
<td>本科</td>
<td>客户经理</td>
</tr>
<tr>
<td><input type="checkbox" value="14" οnclick="changeCheck(this.value)"></td>
<td>张五</td>
<td>27</td>
<td>男</td>
<td>研究生</td>
<td>经理</td>
</tr>
</tbody>
</table>
<div id="tableOpt">
<input type="checkbox" value="0" id="allCheck">
<label for="allCheck">全选</label>
<span class="del">删除</span>
<span class="add">添加</span>
</div>
<div id="pop" class="hide">
<dl id="content">
<dt>
<span class="title">添加信息</span>
<span class="close">X</span>
</dt>
<dd>姓名:<input type="text" name="usrname" ></dd>
<dd>年龄:<input type="text" name="usrage"></dd>
<dd>性别:<input type="text" name="usrsex"></dd>
<dd>学历:<input type="text" name="usrEducation"></dd>
<dd>职位:<input type="text" name="usrPosition"></dd>
<dd class="opt">
<span class="sure">确定</span>
<span class="cancel">取消</span>
</dd>
</dl>
</div>
</div>
</body>
</html>