我有一个包含行列表的表,每行都有两个复选框 我想要做的是当有人检查复选框时,它使用ajax向服务器发送请求,如果通过则将reponsev与数据一起发送,如果失败则将tr颜色更改为绿色,则将其更改为红色。我完成了此步骤
现在我想要它成功时它应该启用同一个tr上的其他复选框,所以现在用户可以通过第二步处理。
$("#SendReview").click(function() {
var selected = "";
$('.ReviewForm').each(function() {
selected = selected + "," + $(this).attr('id');
});
$.ajax({
url: '@Url.Action("VerifyFormRquest", "Results")',
type: "POST",
data: {
scanid: selected
},
success: function(data, textStatus, jqXHR) {
alert(data.success);
data.success.split(',').forEach(function(c) {
if (c != "") {
var m = $('#example tr:has(td:contains(' + c + '))').css('background-color', 'lightgreen');
}
});
},
error: function(jqXHR, textStatus, errorThrown) {}
});
});

<table id="example">
<tr id="1000000107">
<td>
<input type="checkbox" id="J15000001" scanid="1000000103" onclick="call()" disabled="disabled" value="1000000103" class="ELOchecked">
</td>
</tr>
<tr id="1000000107">
<td>
<input type="checkbox" id="J15000012" scanid="1000000107" disabled="disabled" value="1000000107" class="ELR">
</td>
</tr>
</table>
&#13;
答案 0 :(得分:1)
您可以使用prop
方法执行此操作。
$("#myOtherCheckbox").prop("disabled", false);
如果你想为它添加一个类:
$("#myOtherCheckbox").prop("disabled", false).addClass("someClass");
答案 1 :(得分:1)
你应该使用
("#J15000012").prop("disabled",false);
选中复选框,而不是使用.removeAttr
,因为从false
开始,它不会将值设置为jquery 3
答案 2 :(得分:1)
由于您已经拥有获取td
的模式,因此您可以使用next('td')
获取下一个模式:
var current_td = $('#example td:contains('+ c +')');
//If the current td found get the next one and remove the disabled property
if( current_td.length > 0 ){
current_td.next('td').prop('checked',false);
}