简体   繁体   中英

Filter a SharePoint(table) View based on click - Jquery

I was hoping to get some help with some jQuery, and am interested in understanding the solution to the problem. Basically, I have a SharePoint list, which is holding two instances of the same table. The table in black is the same table below just modified, I want the user to be able to click on the season "SS17" or "FW17" and filter the below table by the item they click on.

Currently I used CSS to set the second table display: none; and here is the jQuery I use to toggle the table when clicked.

$(document).ready(function(){
$(".ms-vb2").click(function(){
    $('#scriptWPQ5').slideToggle("slow");
}); });

Currently it is toggling the table fine, where ".ms-vb2" is the top table in black, and where '#scriptWPQ5' is the bottom table that is being toggled. I wanted to take it a step further and filter it based on what the "Season" the user clicked!

Thank you for your time, and I hope you can help me learn jQuery and understand tables :) Let me know if I need to add anymore information!

EDIT - Here is the HTML for the first table, the first row "SS17" is highlighted, and the other row "FW17" is outlined in red. Table 1 HTML

I do not have the ability to post more than 2 links, but will delete the first link if I need to, in order to post the HTML of the second table. The second table is identical to the Table 1 HTML though.

Try this solution,

this allows you to click on TRs from table1, and trigger rows to hide and show in table2.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .highlight{
            background-color: yellow;
            font-size:24px;
        }
    </style>
</head>
<body>

<table border="1" id="table1">
    <tr>
        <td>ss17</td>
        <td>def</td>
        <td>ghi</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>def</td>
        <td>ghi</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>def</td>
        <td>ghi</td>
    </tr>
</table>

<br/>
<br/>
<br/>

<table border="1" id="table2">
    <thead>
        <tr>
            <th>Season</th>
            <th>Model</th>
            <th>Model</th>
            <th>Model</th>
            <th>Model</th>
            <th>Model</th>
            <th>Model</th>
        </tr>
    </thead>
    <tbody>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss17</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss18</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    <tr>
        <td>ss19</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
        <td>1234</td>
    </tr>
    </tbody>
</table>

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

<script>


    $('#table2 tbody tr').hide();

    $('#table1 tr').click(function () {

        var trClickedValue = $(this).children('td:eq(0)').html();

        $(this).attr('data',trClickedValue); // set ATTR
        var dataValue = $(this).attr('data'); // get ATTR

        $('#table2 tbody tr').each(function(){

            var tr = $(this);
            var tdValue = tr.children('td:eq(0)').html();

            if(tdValue != dataValue)
            {
                tr.hide();
                tr.removeClass('highlight');
            }
            else
            {
                tr.toggle();
                tr.addClass('highlight');
            }
        })
    })

</script>

</body>
</html>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM