jQuery 全选 反选 单击行改变背景色
我先把CSS样式放出来,其实这个可以直接忽略
body{margin:;padding:;font-size:12px;font-family:微软雅黑;}
.datagrid{width:100%;}
.datagird tr th{background-color:#191970; font-size:14px;}
.datagrid tr th, .datagrid tr td{border:1px solid #ccc; border-collapse:collapse;} /* 选中行样式 */
.table-row-selected{background:#fff68f;}
我们再来看页面HTML结构
<div id="page">
<table class="datagrid" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th><input id="CheckAll" name="checkall" type="checkbox" /></th>
<th>ID</th>
<th>标题</th>
<th>发布人</th>
<th>发布时间</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><input type="checkbox" name="check" /></td>
<td align="center" width="5%">1</td>
<td>阿里做对了哪三件事?</td>
<td align="center" width="10%">internet</td>
<td align="center" width="15%">2013-07-01</td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="check" /></td>
<td align="center" width="5%">2</td>
<td>大盘点:被互联网改写的16个传统行业</td>
<td align="center" width="10%">internet</td>
<td align="center" width="15%">2013-07-01</td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="check" /></td>
<td align="center" width="5%">3</td>
<td>如果智能手机市场有变,酷派们怎么办?</td>
<td align="center" width="10%">internet</td>
<td align="center" width="15%">2013-07-01</td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="check" /></td>
<td align="center" width="5%">4</td>
<td>看看福特们是如何抵御谷歌苹果的?</td>
<td align="center" width="10%">internet</td>
<td align="center" width="15%">2013-07-01</td>
</tr>
</tbody>
</table>
</div>
实现功能
1)单击行改变背景色
2)全选/反全选功能
//单击行改变背景色 选中行
$(".datagrid tbody tr").bind("click", function () {
var oThis = $(this);
if (oThis.hasClass("table-row-selected")) {
oThis.removeClass("table-row-selected");
oThis.children("td:eq(0)").children("input[name='check']").removeAttr("checked");
} else {
oThis.addClass("table-row-selected");
oThis.children("td:eq(0)").children("input[name='check']").attr("checked", "checked");
} var len = $("table.datagrid tbody").find("input[name='check']").length;
var count = ;
$("table.datagrid").find("input[name='check']").each(function (i) {
var That = $(this);
if (That.prop("checked") == true) {
count++;
}
}); if (len == count) {
$("input[name='checkall']").attr("checked", "checked");
} else {
$("input[name='checkall']").removeAttr("checked");
}
}); //全选
$("#CheckAll").bind("click", function () {
var oThis = $(this);
if (oThis.prop("checked") == true) {
$("table.datagrid tbody").find("input[name='check']").attr("checked", "checked");
$("table.datagrid tbody").find("input[name='check']").parents("tr").addClass("table-row-selected");
} else {
$("table.datagrid tbody").find("input[name='check']").removeAttr("checked");
$("table.datagrid tbody").find("input[name='check']").parents("tr").removeClass("table-row-selected");
}
});
PS:功能都太簡單了,我都不好意思發出來。但工作中又經常會寫一些重複性代碼,想想還是貼出來
順便也可以提高自己的一點點積極性。Thx,that's all
后记:功能全部完成了,现已重新编辑放出来了
jQuery 全选 反选 单击行改变背景色的更多相关文章
- JQuery 全选 反选 获取Table 中指定td的元素值
//全选 function initTableCheckbox() { var $thr = $('table thead tr'); var $checkAllTh = $('<th>& ...
- jQuery全选/反选checkbox
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 关于JQuery全选/反选第二次失效的问题
最近在项目中,遇到一个问题,测试全选/反选功能时,第一次对母框进行选中/非选中时,能同步子框的全选/反选状态,之后再点击母框,子框就没反应了.原代码大致结构关键如下: function selectA ...
- jQuery全选反选插件
(function($){ $.fn.check = function(options){ var options = $.extend({ element : "input[name='n ...
- jQuery全选反选实例
1. $('#tb:checkbox').each(function(){ 每次都会执行 全选-取消操作,注意$('#tb :checkbox').prop('checked',true); tb后面 ...
- jquery全选 反选
//全选 反选 $('#chkAll').on('click',function(){ $('input.chkbox').prop('checked',$(this).prop('checked') ...
- 关于jquery全选反选 批量删除的一点心得
废话不多说直接上代码: 下面是jsp页面的html代码: <table id="contentTable" class=""> <thead& ...
- jquery全选反选
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery 全选反选 .prop('checked',!$(this).is(':checked'));
//废话不说直接上代码 $("#").click(function(){ $("#content-div label input[type='checkbox']&quo ...
随机推荐
- int a[5]={}, &a+1与(int*)a+1的区别
#include <iostream> #include <typeinfo> using namespace std; int main() { int b, *pb; ch ...
- JavaScript eval() Function
Evaluate/Execute JavaScript code/expressions: Example var x = 10;var y = 20;var a = eval("x * y ...
- linux epoll模型
原文:http://yjtjh.blog.51cto.com/1060831/294119 Linux I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数.Linux ...
- scala Option 里的 orNull orElse getOrElse 区别和使用
Scala Option Scala Option类型用来表示一个值是可选的(有值或无值) Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some ...
- PHP.1-网站开发概述
网站开发概述 网站开发从本质来说,就是软件开发 1.B/S软件体系统结构 BS:浏览器与服务器的结构[降低客户端电脑的负荷,减轻维护成本,对CS的改进,可随时随地进行业务处理] #对美工要求比较高,注 ...
- Window Pains
http://poj.org/problem?id=2585 Window Pains Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- 2012第二届GIS制图大赛——公开课技术问题&答疑(珍贵资源哦!)(http://blog.csdn.net/arcgis_all/article/details/8216984)
本次制图大赛培训的公开课结束后,我们把所有技术问题收集并进行统一解答,现将这些资料在博文中分享. 由于这些问题涉及了制图技术中较多普遍性的内容,因此是非常珍贵的资源,希望能对大家有帮助. ——符号及符 ...
- .NET自动识别HttpWebResponse的编码及是否压缩
请求和响应头 POST的数据 最近项目使用HttpWebRequest请求网页,处理HttpWebResponse返回消息体,发现网页可能是有GZIP压缩等,所得数据乱码,所以相处了解决方案,大家共同 ...
- 对于android触摸事件模型的一些理解
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- Eclipse 中引用其他项目及项目打包
1.建立工程project1; 2.建立class文件ClassA: package com.test; public class ClassA{ public static String getCl ...