jquery权威指导 3-10的练习

 我对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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值