javascript - 如何使用 jQuery 让过滤器仅在一列中查找信息?

标签 javascript jquery html filter

我使用以下代码来过滤表中的数据:

function searchFilter(ftr,table){
    ftr = '#'+ftr;
    table = '#'+table;
    var $rows = $(table+' tbody tr');
    $(ftr).change(function() {
        var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();

        $rows.show().filter(function() {
        var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
        return !~text.indexOf(val);
        }).hide();
    });

}

但是如果其他列中有重复的信息,它也会显示它们。 我如何具体确定我希望过滤器在哪一列上工作?假设该列的 id 是 betaDate。 我在这里缺少什么?

最佳答案

那么你会得到列的索引

var searchIndex = $("#betaDate").index();

并且在过滤器行中您可以使用索引

$(this).find("td").eq(searchIndex).text()...
<小时/>

还有另一种方法[逻辑可能不正确,但基本思想]

var index = 1; //starts at one not zero!
var text = "1";
$("table tbody tr td:nth-child(" + index + ")")
    .filter( function() {
        return $(this).text()!==text; 
     })
     .parent()
         .addClass("hide");

fiddle

关于javascript - 如何使用 jQuery 让过滤器仅在一列中查找信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19528736/

相关文章:

javascript - 使用快速 session 在 MEAN 应用程序中检查有效 session 的最佳方法是什么?

javascript - 使用 DataTable.js 的 js 源数据的单个列搜索过滤器

html - 两个带有固定页眉和页脚的可滚动内容栏

html - 如何将输入限制为 4 位数字

javascript - 在 Framework7 中的页面加载时显示/隐藏预加载器

javascript - SCRIPT1005 : Expected '(' Error in user. ASP

javascript - 检查背景图像是否已加载

javascript - 不应该将 onsubmit 设置为 "false"以防止实现表单的操作吗?

javascript - javascript中的动画功能,当我点击它时我需要动画一些东西,这样一个div会以一种方式进行,而另一个div会以另一种方式进行

javascript - 如何触发文本输入事件以绕过应用程序的验证?