zoukankan      html  css  js  c++  java
  • jQuery 全选 反选 单击行改变背景色

    我先把CSS样式放出来,其实这个可以直接忽略

    body{margin:0;padding:0;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 = 0;
        $("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

    后记:功能全部完成了,现已重新编辑放出来了

  • 相关阅读:
    图像处理笔记(二十一):halcon在图像处理中的运用
    图像处理笔记(二十):LAWS纹理滤波应用于缺陷检测
    图像处理笔记(十九):分类器之高斯混合模型
    图像处理笔记(十八):模板匹配
    图像处理笔记(十七):再看傅里叶变换
    图像处理笔记(十六)
    python列表(list)的技巧及高级操作
    python多线程
    CD/CI的概念
    网络
  • 原文地址:https://www.cnblogs.com/bestfriends/p/3166126.html
Copyright © 2011-2022 走看看