代码之家  ›  专栏  ›  技术社区  ›  Francesco G.

JQuery表按多个包含值搜索行数

  •  0
  • Francesco G.  · 技术社区  · 8 年前

    我想在表中按td的multiple:contains()值搜索行数。

    <table id="tabCity">
    <tr><td>Name</td><td>Surname</td><td>City</td></tr>
    <tr><td>Paul</td><td color>Smith</td><td>Boston</td></tr>
    <tr><td>Andrew</td><td>Smith</td><td>London</td></tr>
    <tr><td>Smith</td><td>Green</td><td>Boston</td></tr>
    <tr><td>Nick</td><td>Smith</td><td>Boston</td></tr>
    </table>
    <br>
    <button class="go">Search Surname Smith in Boston</button>
    <br>
    <label>The result must be 2</label>
    
    $(document).on('click', '.go', function(){
    var rows= $("#tabCity tr td:nth-child(2):contains('Smith'), td:nth-child(3):contains('Boston')");
    alert(rows.length);
    });
    

    看这里: http://jsfiddle.net/drh0mvhz/1

    1 回复  |  直到 8 年前
        1
  •  2
  •   Jason P    8 年前

    .filter() 允许您执行更复杂的筛选:

    var rows = $("#tabCity tr").filter(function() {
        return $(this).find("td:nth-child(2):contains('Smith')").length 
            && $(this).find("td:nth-child(3):contains('Boston')").length;
    });
    

    http://jsfiddle.net/bh6t6tf6/