-1

我有以下结构的表:-

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

我有两个字符串 ex a="01",b="01-4444-44401",现在我想找到第二个 TD 和第三个值与“a”和“b”匹配的每一行。然后,如果满足此条件,则选中每个选定行的第一个 TD 中的复选框。

如何使用 jquery 做到这一点?我正在尝试使用“find”和“eq”,但不知道如何实现?

4

2 回答 2

1

这将为您提供所有带有 text 的第二个单元格和带有 texta的所有第三个单元格b。不完全在那里,但几乎。

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

包含, 第n个孩子

如果您希望生成的对象仅包含其第二个单元格包含文本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 过滤器

于 2013-05-16T15:15:55.043 回答
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/

于 2013-05-16T15:23:20.777 回答