jQuery在匹配联接条件的行上禁用复选框

jQuery在匹配联接条件的行上禁用复选框,jquery,Jquery,所以我有这些数据行,我需要禁用第3列包含“B”或第4列包含负数的复选框。我有一个工作代码在这里,但我觉得它是多余的,没有效率。有人能帮我找到更好的方法吗 $(document).ready(function() { $('#row1 tr > td:nth-child(3)').each(function() { if ($(this).text() == 'B') { $(this).closest('tr').find('

所以我有这些数据行,我需要禁用第3列包含“B”或第4列包含负数的复选框。我有一个工作代码在这里,但我觉得它是多余的,没有效率。有人能帮我找到更好的方法吗

$(document).ready(function() {

    $('#row1 tr > td:nth-child(3)').each(function() {

        if ($(this).text() == 'B')
        {
          $(this).closest('tr').find('input:checkbox').attr("disabled",true);
        }

    });

    $('#row1 tr > td:nth-child(4)').each(function() {

        if (parseInt($(this).text()) < 0)
        {
          $(this).closest('tr').find('input:checkbox').attr("disabled",true);
        }
    });
});
$(文档).ready(函数(){
$('row1 tr>td:nth child(3')。每个(函数(){
如果($(this).text()=='B')
{
$(this).closest('tr').find('input:checkbox').attr(“disabled”,true);
}
});
$('#row1 tr>td:n子级(4)')。每个(函数(){
if(parseInt($(this).text())<0)
{
$(this).closest('tr').find('input:checkbox').attr(“disabled”,true);
}
});
});

您可以将这两条语句组合在一个选择器下,用于#row1 tr

小提琴:


X
A.
5.
Y
B
2.
Z
C
-3  

$(文档).ready(函数(){ $('#out')。文本(''); $('#row1 tr')。每个(函数(i,o){ var节点; 如果(i==1){ node=$(this.find(“td:nth-child(3)”); if($.trim($(node.text())==“B”) $(this.find('input:checkbox').attr(“disabled”,true); } else如果(i==2){ node=$(this.find(“td:nth-child(4)”); if(parseInt($(node).text())<0){ $(this.find('input:checkbox').attr(“disabled”,true); } } }); //获取行值 $('out').append($('row1 tr:checkbox:disabled').length); });
您可以将这两条语句组合在一个选择器下,用于#row1 tr

小提琴:


X
A.
5.
Y
B
2.
Z
C
-3  

$(文档).ready(函数(){ $('#out')。文本(''); $('#row1 tr')。每个(函数(i,o){ var节点; 如果(i==1){ node=$(this.find(“td:nth-child(3)”); if($.trim($(node.text())==“B”) $(this.find('input:checkbox').attr(“disabled”,true); } else如果(i==2){ node=$(this.find(“td:nth-child(4)”); if(parseInt($(node).text())<0){ $(this.find('input:checkbox').attr(“disabled”,true); } } }); //获取行值 $('out').append($('row1 tr:checkbox:disabled').length); });
此问题是否应转到代码审阅?此问题是否应转到代码审阅?如果我在第一次将5替换为-5,则此问题不起作用如果我在第一次将5替换为-5,则此问题不起作用
<table id="row1">
    <tbody>
        <tr id="tr1">
            <td class="cb"><input type="checkbox" id="cb1">
                </td>
            <td>X</td>
            <td>A</td>
            <td>5</td>
        </tr>    
        <tr id="tr2">
            <td class="cb"><input type="checkbox" id="cb2">
                </td>
            <td>Y</td>
            <td>B</td>
            <td>2</td>
        </tr>    
        <tr id="tr3">
            <td class="cb"><input type="checkbox" id="cb3"> 
                </td>
            <td>Z</td>
            <td> C </td>
            <td>-3</td>  
        </tr>    
    </tbody>
</table>

<br>
<p id="out"></p>

$(document).ready(function () {
    $('#out').text('');
    $('#row1 tr').each(function (i, o) {
        var node;
        if (i == 1) {
            node = $(this).find("td:nth-child(3)");
            if($.trim($(node).text()) == "B")
                $(this).find('input:checkbox').attr("disabled", true);
        }
        else if (i == 2) {
            node = $(this).find("td:nth-child(4)");
            if (parseInt($(node).text()) < 0) {
                $(this).find('input:checkbox').attr("disabled", true);
            }
        }
    });

    //get row values
    $('#out').append($('#row1 tr :checkbox:disabled').length);

});