2013-05-16 56 views
-1

我有以下結構的表: -查找基於第二和第三TD連續值

<tr class="tbs_tr" style="background-color: #ffffff;" jQuery1368711830388="355"> 
     <TD style="WIDTH: 20px" class=tbs_td><INPUT class=search value=0 type=checkbox name=search jQuery1368711830388="356"></TD> 
     <TD class=tbs_td>00-0227101-</TD> 
     <TD class=tbs_td>1</TD> 
     <TD class=tbs_td>&nbsp;</TD> 
     <TD class=tbs_td>Medak</TD> 
     <TD class=tbs_td>02/27/2013</TD> 
     <TD style="BORDER-RIGHT: medium none" class=tbs_td>02/01/2013</TD> 
     </tr> 



     <tr class="tbs_tr" style="background-color: #ffffff;" jQuery1368711830388="355"> 
     <TD style="WIDTH: 20px" class=tbs_td><INPUT class=search value=1 type=checkbox name=search jQuery1368711830388="358"></TD> 
     <TD class=tbs_td>01-123456789-</TD> 
     <TD class=tbs_td>1</TD> 
     <TD class=tbs_td>2010 Acura CSX 4D Sed</TD> 
     <TD class=tbs_td>Insured Ln, Insured Firstname</TD> 
     <TD class=tbs_td>03/05/2013</TD> 
     <TD style="BORDER-RIGHT: medium none" class=tbs_td>03/05/2013</TD> 
     </tr> 


    <tr class="tbs_tr" style="background-color: #ffffff;" jQuery1368711830388="355"> 
    <TD style="WIDTH: 20px" class=tbs_td><INPUT class=search value=2 type=checkbox name=search jQuery1368711830388="360"></TD> 
    <TD class=tbs_td>01-4444-44401</TD> 
    <TD class=tbs_td>01</TD> 
    <TD class=tbs_td>2001 Toyota Tundra 2 Door Pickup 128" WB 8 Foot Bed</TD> 
    <TD class=tbs_td>Naveen</TD> 
    <TD class=tbs_td>02/11/2013</TD> 
    <TD style="BORDER-RIGHT: medium none" class=tbs_td>02/10/2013</TD> </tr> 

我有兩個字符串前一個=「01」,B =「01-4444-44401」現在我想找到第二個TD和第三個值與「a」和「b」匹配的每一行。然後,如果這種情況符合,則選中每個所選行的第一個TD中的複選框。

如何使用jQuery來做到這一點? 我正在嘗試使用「find」和「eq」,但不知道如何實現這一點?

+0

你能告訴我們你已經嘗試這樣我們就可以幫你解決? –

回答

1

這將爲您帶來所有第二個帶有文本a的單元格和所有第三個帶有文本b的單元格。不是那裏,但幾乎。

$('td:nth-child(2):contains('+a+'), td:nth-child(3):contains('+b+')') 

Containsnth-child

如果你想生成的對象僅包含其第二細胞具有文本a和第三單元具有文本b,那麼你必須這樣做行:

var rows = $('tr'); 
rows.filter(function(i){ 
    if($(this).find('td:nth-child(2):contains('+a+')') && $(this).find('td:nth-child(3):contains('+b+')')){ 
     //keep in object 
     return true; 
    } else { 
     //remove from object 
     return false; 
    } 
}); 

jQuery Filter

+0

我還有一個條件,就像這個條件符合,然後在第一個TD中檢查複選框 – F11

1

你可以使用.filter - 給你的上述HTML:

var a = "01", 
    b = "01-4444-44401", 
    rows = $('tr').filter(function(index) { 
    var columns = $(this).children('td'); 
    return columns.eq(2).text() === a && columns.eq(1).text() === b; 
}); 

http://jsfiddle.net/j5C3B/2/