zoukankan      html  css  js  c++  java
  • jQuery对表格的操作及其他应用

    表格操作

      1.隔行变色:对普通表格进行隔行换色;单击显示高亮样式;复选框选中高亮

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="../js/jquery-3.1.0.min.js"></script>
        <title>表格应用--隔行/选中变色</title>
        <style type="text/css">
            .tble{
                border: 1px solid red;
            }
            /*偶数行样式*/
            .even{ 
                background: red;
            }
            /*奇数行样式*/
            .odd{
                background: yellow;
            }
            .selected{
                background: red;
            }
        </style>
        </head>
        <body>
            <table class="tble">
                <thead>
                    <tr><th><input type="checkbox" id="CheckedAll"/></th><th>姓名</th><th>姓别</th><th>暂住地</th></tr>
                </thead>
                <tbody>
                    <tr><td><input type="checkbox" id="checkOne" /></td><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                    <tr><td><input type="checkbox" id="checkOne" /></td><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                    <tr><td><input type="checkbox" id="checkOne" /></td><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                    <tr><td><input type="checkbox" id="checkOne" /></td><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                    <tr><td><input type="checkbox" id="checkOne" /></td><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                    <tr><td><input type="checkbox" id="checkOne" /></td><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                    <tr><td><input type="checkbox" id="checkOne" /></td><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                    <tr><td><input type="checkbox" id="checkOne" /></td><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                </tbody>
            </table>
            
            <script type="text/javascript">
                $(function(){
                    //1.普通隔行换色,从表头开始算起
                    $("tr:odd").addClass("odd"); //给奇数行添加样式
                    $("tr:even").addClass("even"); //给偶数行添加样式
    
                    //2.给tbody中添加隔行换色
                    $("tbody>tr:odd").addClass("odd"); //给tbody中奇数行添加样式
                    $("tbody>tr:even").addClass("even"); //给tbody中偶数行添加样式
                    
                    //3.单选控制表格行高亮
                    $("tbody>tr").click(function(){
                        $(this).addClass('selected').siblings().removeClass('selected').end().find(':radio').attr('checked',true);
                    })
                    
                    //4.复选框高亮样式
                    $('tbody>tr').click(function(){
                        if($(this).hasClass('selected')){
                            $(this).removeClass('selected').find(':checkbox').attr('checked',false);
                        }else{
                            $(this).addClass('selected').find(':checkbox').attr('checked',true);
                        }
                    })
                })
            </script>
        </body>
    </html>
    View Code

    如果需要查看网页显示效果,复制粘贴代码运行就可以

      2.表格展开关闭

    <!DOCTYPE html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="../js/jquery-3.1.0.min.js"></script>
        <title>表格应用--表格展开关闭</title>
        <style type="text/css">
            .tble{
                border: 1px solid red;
            }
            /*偶数行样式*/
            .even{ 
                background: red;
            }
            /*奇数行样式*/
            .odd{
                background: yellow;
            }
            .selected{
                background: red;
            }
            .parent{
                background: #CCCCCC;
            }
        </style>
        </head>
        <body>
            <table class="tble">
                <thead>
                    <tr><th></th><th>姓名</th><th>姓别</th><th>暂住地</th></tr>
                </thead>
                <tbody>
                    <tr class="parent" id="row_01"><td colspan="3">前台设计组</td></tr>
                    <tr class="child_row_01"><td></td><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                    <tr class="child_row_01"><td></td><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                    
                    <tr class="parent" id="row_02"><td colspan="3">前台开发组</td></tr>
                    <tr class="child_row_02"><td></td><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                    <tr class="child_row_02"><td></td><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                    
                    <tr class="parent" id="row_03"><td colspan="3">后台开发组</td></tr>
                    <tr class="child_row_03"><td></td><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                    <tr class="child_row_03"><td></td><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                </tbody>
            </table>
            
            <script type="text/javascript">
                $(function(){
                    $('tr.parent').click(function(){   // 获取所谓的父行
                        $(this)
                            .toggleClass("selected")   // 添加/删除高亮
                         .siblings('.child_'+this.id).toggle();  // 隐藏/显示所谓的子行
                        });
                })
            </script>
        </body>
    </html>
    View Code

    网页显示效果:

      3.表格内容筛选:使用filter()筛选方法

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="../js/jquery-1.4.4.min.js"></script>
        <title>表格应用--表格内容筛选</title>
    </head>
    <body>
        <div>
            <br/>
            筛选:<input id="filterName" /><br/>
        </div>
        <table>
            <thead>
                <tr><th>姓名</th><th>性别</th><th>暂住地</th></tr>
            </thead>
            <tbody>
                <tr><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                <tr><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                <tr><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                <tr><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                <tr><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
                <tr><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                <tr><td>李四</td><td>男</td><td>浙江杭州</td></tr>
                <tr><td>张珊</td><td>女</td><td>浙江宁波</td></tr>
            </tbody>
            
            <script type="text/javascript">
                  $(function(){
                      //使用filter()筛选方法
                       $("#filterName").keyup(function(){  //为文本框绑定keyup事件
                          $("table tbody tr").hide().filter(":contains('"+( $(this).val() )+"')").show();
                       }).keyup();  //DOM加载完成时,绑定事件完成后立即触发
                  })
            </script>
        </table>
    </body>
    </html>
    View Code

    网页显示效果:

     其他应用

      1.网页字体大小:网站中经常有“放大”和“缩小”字号的控制,单击他们,控制字体呈现不同大小的效果

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="../js/jquery-3.1.0.min.js"></script>
        <title>其他应用--字体放大缩小</title>
        </head>
        <body>
            <form>
                <div class="msg">
                    <div class="msg_caption">
                        <span class="bigger">放大</span>
                        <span class="smaller">缩小</span>
                    </div>
                    <div>
                        <p id="para">多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。多行文本框高度变化。</p>
                    </div>
                </div>
            </form>
            
            <script type="text/javascript">
                $(function(){
                    
                    //无限放大 缩小字体
                    $("span").click(function(){  //为span元素绑定单击事件
                        var thisEle = $("#para").css("font-size"); //获取id为para的字体大小。获取的值是将返回的数字和单位
                        var textFontSize = parseInt(thisEle,10); //parseInt()方法转换,去掉单位
                        var unit = thisEle.slice(-2);  //获取单位,slice()返回字符串中从指定的字符开始的一个字符串
                        var cName = $(this).attr("class");
                        if(cName=="bigger"){
                            textFontSize += 2
                        }else{
                            textFontSize -= 2;
                        }
                        $("#para").css("font-size",textFontSize + unit); //再次获取“para”元素,并为他的font-size属性赋新值(textFontSize),并拼接上单位
                        
                        
                    })
                    
                    
                    //上面方法是无限放大,无限缩小,如果不合适,则设置最大字体和最小字体
                    $("span").click(function(){  //为span元素绑定单击事件
                        var thisEle = $("#para").css("font-size"); //获取id为para的字体大小。获取的值是将返回的数字和单位
                        var textFontSize = parseInt(thisEle,10); //parseInt()方法转换,去掉单位
                        var unit = thisEle.slice(-2);  //获取单位,slice()返回字符串中从指定的字符开始的一个字符串
                        var cName = $(this).attr("class");
                        if(cName == "bigger"){
                                if(textFontSize <= 22){
                                    textFontSize += 2;
                                }
                            }else if(cName == "smaller"){
                                if(textFontSize >= 12){
                                    textFontSize -= 2;
                                }
                            }
                            $("#para").css("font-size",textFontSize + unit); 
                    })
                    
                })
            </script>
        </body>
    </html>
    View Code

    网页显示效果:两种不同的显示效果,第一种无限放大缩小;第二种控制最大最小字号进行显示

      2.网页选项卡:通过隐藏和显示来切换不同内容

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="../js/jquery-3.1.0.min.js"></script>
        <title>其他应用--网页选项卡</title>
        
        <style type="text/css">
            .selected{background: yellow;}
            .tab{400px; font-size:12px;}
            .tab_menu ul{padding:0px;margin:0px;}
            .tab_menu li{list-style:none;display:block; float:left;background:#C2CEFE; height:22px; line-height:22px;
                        padding: 0px 8px;  margin-right:6px; border:#86B4CA 1px solid;}
            .tab_box{400px; height:200px; overflow:hidden; border:#A8C9D9 1px solid; padding:10px 8px; }
            .tab_menu ul li.selected{background:#dadada; cursor:pointer; }
            .hide{display:none;} 
            .hover{background: green;}
        </style>
        </head>
        <body>
            <div class="tab">
                <div class="tab_menu">
                    <ul>
                        <li class="selected">实时</li>
                        <li>新闻</li>
                        <li>娱乐</li>
                    </ul>
                </div>
                <div class="tab_box">
                    <div>实时</div>
                    <div class="hide">新闻</div>
                    <div class="hide">娱乐</div>
                </div>
            </div>
            
            <script type="text/javascript">
                $(function(){
                    var $div_li = $("div.tab_menu ul li");
                    $div_li.click(function(){
                        $(this).addClass("selected")  //当前li元素高亮
                        .siblings().removeClass("selected"); //去掉其他同辈li元素的高亮
                        
                        var index = $div_li.index(this); //获取当前单击的li元素在全部li元素中的索引
                        
                        $("div.tab_box > div")  //选取子节点
                            .eq(index).show()   //显示li元素对应的div元素
                            .siblings().hide(); //隐藏其他几个同辈的div元素
                    }).hover(function(){  //添加光标滑过效果
                        $(this).addClass("hover");
                    },function(){
                        $(this).removeClass("hover");
                    })
                })
            </script>
        </body>
    </html>
    View Code

    网页显示效果:

    软件需求管理
  • 相关阅读:
    是非人生 — 一个菜鸟程序员的5年职场路 第7节
    是非人生 — 一个菜鸟程序员的5年职场路 第11节
    是非人生 — 一个菜鸟程序员的5年职场路 第8节
    动态调用Webservice
    (转) C# FileStream复制大文件
    是非人生 — 一个菜鸟程序员的5年职场路 第12节
    是非人生 — 一个菜鸟程序员的5年职场路 第16节
    是非人生 — 一个菜鸟程序员的5年职场路 第9节
    c#中模拟键盘(转)
    是非人生 — 一个菜鸟程序员的5年职场路 第15节
  • 原文地址:https://www.cnblogs.com/parawork/p/5951800.html
Copyright © 2011-2022 走看看