jQuery在匹配联接条件的行上禁用复选框
所以我有这些数据行,我需要禁用第3列包含“B”或第4列包含负数的复选框。我有一个工作代码在这里,但我觉得它是多余的,没有效率。有人能帮我找到更好的方法吗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('
$(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);
});