David George Smith
David George Smith

Reputation: 134

How to get a tr value within a filter

I having issues grabbing my data within a jquery filter. I have tried finding a solution but haven't been able to find one. I am fairly new with Jquery so I believe this might be a trivial answer.

I like to loop through my array checking it against the cells value, How do I fetch the cells current value / (this) value?

EDIT: Thanks for the help, final solution as follows. Where datesToSearchFor is an array of string dates and nth-child(2) is my dates column in my table.

  $("#UnfinishedTable tr").filter(function () {
    if (this.id !== 'headerRow') {
        var isItThere = false;
        var data = $(this).find("td:nth-child(2)").html();//my dates column
        datesToSearchFor.forEach(function (entry) {
            if (data == entry) {against are array of dates
                isItThere = true;
            }
        });
    }
    if (isItThere) {//if one was found show the row else hide it
        $(this).show()
    }
    else {
        if (this.id !== 'headerRow') {
            $(this).hide()
        }
    }
});

Upvotes: 0

Views: 316

Answers (3)

Lee Developer
Lee Developer

Reputation: 98

$('#unfinishedTable tr').not('#headerRow').each(function(){
    var val = $(this).attr('value');
    var src = datesToSearchFor.find(function(n){return n == val;});   
    $(this).css({'display' : src == null ? 'none' : ''});
});

Upvotes: 1

ChrisG
ChrisG

Reputation: 2948

Filtering is for finding your elements, not acting upon them. After you .filter(), you should put your logic into .each()

$('#UnfinishedTable tr')
  .not('#headerRow')
  .each(function () {
    ... // logic
    $(this).show();
  });

The above example uses .not() as that is closer to what your desired logic is.

Upvotes: 1

Lee Developer
Lee Developer

Reputation: 98

The above code seems to be correct, does the console return any errors? Is datesToSearchFor a string vector? Is headerRow the id you assigned to the header tr to ignore it?

Upvotes: -1

Related Questions