在解决这个问题时遇到一些麻烦。如果取消选中第二个和第三个td
中的复选框,则禁用第四个中的复选框。
$('#allergies tbody tr').each(function () {
if ($('td:eq(1) input[type="checkbox"]:not(:checked)', $(this)).length > 0
&& $('td:eq(2) input[type="checkbox"]:not(:checked)', $(this)).length > 0) {
$("td:eq(3) input", $(this)).attr('disabled', false);
}
});
答案 0 :(得分:1)
$('#allergies tbody tr').each(function () {
if ($('td:eq(1) input[type="checkbox"]:not(:checked)').length > 0
&& $('td:eq(2) input[type="checkbox"]:not(:checked)').length > 0) {
$("td:eq(3) input").prop('disabled', true);
}
});
到tr use中的特定用途
$('#allergies tbody tr').each(function () {
if ($('td:eq(1) input[type="checkbox"]:not(:checked)', $(this)).length > 0
&& $('td:eq(2) input[type="checkbox"]:not(:checked)', $(this)).length > 0) {
$("td:eq(3) input", $(this)).prop('disabled', true);
}
});
答案 1 :(得分:0)
你的逻辑是正确的,但不太可读.. 将它们分成更小的块
$('#allergies tbody tr').each(function () {
var $this = $(this);
var chk1 = $this.find('td:eq(1) input[type="checkbox"]').is(':checked');
var chk2 = $this.find('td:eq(2) input[type="checkbox"]').is(':checked');
// If both are false then disable else
// enable them
if(chk1 === false && chk2 === false){
$this.find('td:eq(3) input').prop('disabled', true);
}
else{
$this.find('td:eq(3) input').prop('disabled', false);
}
});