2016-08-22 3 views
0

テーブルの中で複数の行を検索したいと思います:contains()の値はtdです。ここJQueryテーブルの検索で複数行の値が含まれています

<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

答えて

2

.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/

+0

良いアイデアは...しかし、私のために動作しません...実際に私はDatatable(https://datatables.net/)を使用し、私の問題はここにあるので、私はfnGetNodes(https://legacy.datatables.net/ref#fnGetNodes)を使用します:http://jsfiddle.net/drh0mvhz/10/ –

+0

@FrancescoG同じ回答:http://jsfiddle.net/f2hj1pgm/ –

+0

素晴らしい...ありがとう...私は休日が必要... –

関連する問題