我有一个以下结构表: -
<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> </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>
我有两个字符串ex a =“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+')')
如果您希望结果对象仅包含第二个单元格具有文本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;
}
});
答案 1 :(得分: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;
});