首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery筛选表(来自...至)

使用jQuery筛选表(来自...至)
EN

Stack Overflow用户
提问于 2013-12-30 06:45:14
回答 1查看 133关注 0票数 1

当涉及到jQuery时,我还是个新手。但我有件事要做。我知道可以使用各种插件来让它变得更容易,但这不是重点。

我有一个简单的HTML表,并且我正在过滤结果(在本例中,我是通过Author字段过滤的),但是我到底如何才能创建一个从1950年到1960年的过滤器呢?有什么简单的方法可以编辑我的代码来做到这一点吗?我不能想出一个解决方案,尽管我觉得它应该很简单。

另外,有没有办法让过滤不区分大小写?提前感谢!

代码语言:javascript
复制
<input type="text" id="filter-input"  value=""/><br/>
<table class="table-class">
<tr>
    <th>Bookname</th><th>Author</th><th>Publish date</th>
</tr>
<tr>
    <td>Exaple</td><td>Matt</td><td>1951</td>
</tr>
<tr>
   <td>Example2</td><td>John</td><td>1990</td>
</tr>
    <tr>
   <td>Example3</td><td>Ted</td><td>1955</td>
</tr>
</table>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
var filter = $("#filter-input");
filter.keyup(function(e) {
    var author = $(this).val();
    $('.table-class tr:not(:first)').filter(function() {
        if (!$(this).find('td:eq(1)').is(':contains("' + author + '")')) {
            return true;
        }
        else {
            $(this).show();
            return false;
        }
    }).hide();
});
</script>
EN

回答 1

Stack Overflow用户

发布于 2013-12-30 06:50:22

您可以按您喜欢的任何方式进行筛选,要按年份进行筛选,您可以执行以下操作:

代码语言:javascript
复制
$('.table-class tr:not(:first)').filter(function() {

    var txt  = $('td', this).last().text(),
        year = parseInt(txt, 10);

    return year > 1950 || year < 1960

}).hide();

要使其不区分大小写,请执行以下操作:

代码语言:javascript
复制
$('.table-class tr:not(:first)').filter(function() {

    var txt =  $('td', this).eq(1).text().toLowerCase();

    return txt.indexOf(author.toLowerCase()) != -1;

}).hide();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20830945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档