Вы можете сделать это так:
$("#2").click(function() {
if ($("#1").prop("checked") == false ) {
alert("checkbox 1 is not checked");
$("#2").prop("checked", false);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="table1" border="1">
<tr>
<td>
<input type="checkbox" id="1" name="check" value="1" /><label>1</label>
</td>
<td>
<input type="checkbox" id="2" name="check" value="2" /><label>2</label>
</td>
</tr>
</table>
Если вы также хотите снять флажок 2, когда флажок 1 снят, вы можете сделать это следующим образом:
$("#2").click(function() {
if ($("#1").prop("checked") == false ) {
alert("checkbox 1 is not checked");
$("#2").prop("checked", false);
}
});
$("#1").click(function() {
if ($(this).prop("checked") == false) {
$("#2").prop("checked", false);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="table1" border="1">
<tr>
<td>
<input type="checkbox" id="1" name="check" value="1" /><label>1</label>
</td>
<td>
<input type="checkbox" id="2" name="check" value="2" /><label>2</label>
</td>
</tr>
</table>
Обновление: вопрос был отредактирован и теперь имеет 2 строки с 4 флажками.
$("#2, #4").click(function() {
if ($(this).parent().prev().find("input").prop("checked") == false) {
let checkbox = $(this).parent().prev().find("input").attr("id");
alert("checkbox " + checkbox + " is not checked");
$(this).prop("checked", false);
}
});
$("#1, #3").click(function() {
if ($(this).prop("checked") == false) {
$(this).parent().next().find("input").prop("checked", false);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="table1" border="1">
<tr>
<td>
<input type="checkbox" id="1" name="check" value="1" /><label>1</label>
</td>
<td>
<input type="checkbox" id="2" name="check" value="2" /><label>2</label>
</td>
</tr>
<tr>
<td>
<input type="checkbox" id="3" name="check" value="1" /><label>1</label>
</td>
<td>
<input type="checkbox" id="4" name="check" value="2" /><label>2</label>
</td>
</tr>
</table>