过滤表Jquery的第一列

时间:2013-11-28 17:30:48

标签: javascript jquery html filter

我试图使用Jquery为HTML表构建一个选择过滤器,我想只过滤该表的第一列,到目前为止我已经有了这个功能:

$('#select').change(function() {
    var rows = $("#tablebody_hosts").find("tr").hide();
    var data = this.value.split(" ");
    $.each(data, function(i, v) {
        rows.filter(":contains(" + v + ")").show();
    })
});

如何才能在表的第一列中搜索数据?

3 个答案:

答案 0 :(得分:3)

试试这个:

rows.filter(function () {
    return $(this).children(':eq(0)').text().indexOf(v) !== -1;
}).show();

而不是:

rows.filter(":contains(" + v + ")").show();

Doc:http://api.jquery.com/eq-selector/

答案 1 :(得分:0)

$.each(data, function(i, v) {
  rows.filter(function(){
    return (data.indexOf($.trim($(this).children('td').first().text())) != -1);
 }).show();
 });

答案 2 :(得分:0)

您不需要遍历行,只需尝试此操作,

rows.filter(function(){
    return (data.indexOf($.trim($(this).children('td').first().text())) != -1);
}).show();

或者

rows.filter(function(){
    return $.inArray($.trim($(this).children('td').first().text()),data);
}).show();