当点击全选按钮 下面的checkbox都被选上 通过js控制 给元素添加事件
<div style="position: relative;top: 10px;"> <table class="table table-hover"> <thead> <tr style="color: #B3B3B3;"> <td><input type="checkbox" id="checkAll"/></td> <td>名称</td> <td>所有者</td> <td>开始日期</td> <td>结束日期</td> </tr> </thead> <tbody id="tBody"> </tbody> </table> <div id="demo_pag1"></div> </div>
给全选按钮添加单击事件 (如果全选按钮是选中状态 则列表中所有checkbox都选中)
if(this.checked==true){
$("#tBody input[type='checkbox']").prop("checked",true);
else{
$("#tBody input[type='checkbox']").prop("checked",false);
}
$("#checkAll").click(function(){ //如果“全选按钮是选中状态,则列表中所有checkbox都选中 $("tBody input[type='checkbox']").prop("checked",this.checked); });
当点击checkbox按钮,给checkbox添加单击事件
$("#tBody input[type='checkbox']").click(function(){ //列表中checkbox都选中 则全选都选中 if( $("#tBodyinput[type='checkbox']").size()==$("#tBodyinput[type='checkbox']:checked").size()){ $("#checkAll").prop("checked",true); }else{ $("#checkAll").prop("checked",false); } });
选择器.click(function(){
//js代}); 只能给固有元素添加事件(当调用事件函数给元素添加事件时,如果元素已经生成)
应为tBody中的input 标签tr 是动态生成 (js代码失效)元素未加载完
$("#tBody").on("click","input[type='checkbox']",function (){ if( $("#tBody input[type='checkbox']").size() ==$("#tBody input[type='checkbox']:checked").size()){ $("#checkAll").prop("checked",true); }else{ $("#checkAll").prop("checked",false); } });
父选择器.on("事件类型",子选择器,function(){
//js代码
}); 父元素:必须是固有元素 事件类型:跟事件属性和事件函数一一对应。子选择器:目标元素,跟父选择器构成一个父子选择器
不但能给固有元素添加事件,还能够给动态生成的元素添加事件
解决点击翻页功能后 列表重新更新后 取消全选按钮
拼接完列表之后 全选取消
$("#checkAll").prop("checked",false); //点击翻页功能 会重新跟新列表 checkbox没选上
1,在页面中给元素添加事件语法:
a.使用元素的事件属性:onxxxx="f()"
b.使用jquery对象:选择器.xxxx(function(){
//js代码
//this
});
*只能给固有元素添加事件
固有元素:当调用事件函数给元素添加事件时,如果元素已经生成,则这些元素叫做固有元素;
动态生成的元素:当调用事件函数给元素添加事件时,如果元素还没有生成,后来生成的元素叫做动态生成的元素。
c.使用jquery的on函数:父选择器.on("事件类型",子选择器,function(){
//js代码
//this
});父元素:必须是固有元素,可以直接父元素,也可以是间接父元素.
原则固有父元素范围越小越好.
事件类型:跟事件属性和事件函数一一对应。
子选择器:目标元素,跟父选择器构成一个父子选择器
*不但能给固有元素添加事件,还能够给动态生成的元素添加事件。