注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

IOS & JAVA KEY

(iMilo)

 
 
 

日志

 
 
关于我

All the splendor in the world is not worth a good friend!! Hello my friend!!

网易考拉推荐

过滤表格中的行--jQuery处理表格  

2011-03-02 22:06:36|  分类: JQuery |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

2011-02-18

l  过滤表格中的行

知识点:

现在有一个包含一些行列的表格,在表格前面有一个文本框。要基于在文本框中输入姓名来过滤表格中的某些行,例如:如果用户输入“张”,那么所有名字已“张”开头的行会显示,而其他行都会被过滤掉。

说明:

find(expr)方法:搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。

所有搜索都依靠jQuery表达式来完成。这个表达式可以使用CSS1-3的选择器语法来写。

n  expr   string 用于查找的表达式;

each(callback)方法:以每一个匹配的元素作为上下文来执行一个函数。

意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型)。 返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')

n  callback   function 对于每个匹配的元素所要执行的函数;

eq(index)方法:获取第N个元素

这个元素的位置是从0算起。

n  index 元素在jQuery对象中的索引;

substr()方法:substr(start, end)表示取字符串从start索引开始,到end-1结束。

Code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>jQuery处理表格--过滤表格中的行</title>

    <script type="text/javascript" src="rs/js/jquery.js"></script>

    <script type="text/javascript">

    <!--

    $(

        function()

        {

            var rows;

            var coldata;

            $('.submit').click(

                function(event)

                {

                    $('table').find('tbody tr').hide();

                    var data = $('.infobox').val();

                    var l = data.length;

                    if(l >= 1)

                    {

                        $('table tbody tr').each(

                            function()

                            {

                                coldata = $(this).children().eq(1);

                                if(coldata.text().substr(0,1) == data.substr(0,1))

                                {

                                    $(this).show();

                                }

                            }

                        );

                    }

                }

            );

        }

    );

    //-->

    </script>

    <style type="text/css">

    <!--

        .label{

            float:left;

            width: 120px;

        }

        .infobox{

            width: 200px;

        }

        .submit{

            margin-left: 125px;

            margin-top: 10px;

        }

    //-->

    </style>

  </head>

  <body>

    <div>

        <span class="label">输入姓名:</span>

        <input id="in" name="name" type="text" class="infobox" />

    </div>

    <input class="submit" type="submit" value=" " />

    <br/>

    <table border="1">

        <thead>

            <tr>

                <th>学号</th><th>姓名</th><th>评分</th>

            </tr>

        </thead>

        <tbody>

            <tr>

                <td>ST004</td><td>张三</td><td>87</td>

            </tr>

            <tr>

                <td>ST003</td><td>李四</td><td>90</td>

            </tr>

            <tr>

                <td>ST001</td><td>王五</td><td>85</td>

            </tr>

            <tr>

                <td>ST002</td><td>赵六</td><td>79</td>

            </tr>

            <tr>

                <td>ST005</td><td>张飞</td><td>88</td>

            </tr>

            <tr>

                <td>ST007</td><td>李光</td><td>92</td>

            </tr>

            <tr>

                <td>ST006</td><td>王进</td><td>81</td>

            </tr>

            <tr>

                <td>ST008</td><td>赵云</td><td>93</td>

            </tr>

        </tbody>

    </table>

  </body>

</html>

  评论这张
 
阅读(1277)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017