Em casos onde temos mais de uma coluna com o recurso de seleção global dentro de uma tabela html, podemos usar o exemplo abaixo para controlar qual elemento foi selecionado.
<th data-sortable="false" width="150px" class="text-danger">
<input class="form-check-input" type="checkbox" id="chkSelectAllRem" />
<label for="chkSelectAllRem">Todas/Nenhuma</label>
</th>
<th data-sortable="false" width="150px" class="text-success">
<input class="form-check-input" type="checkbox" id="chkSelectAllEnc" />
<label for="chkSelectAllEnc">Todas/Nenhuma</label>
</th>
...
<td>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="op_rem[]" value="<?= $row->id_pr_ordens ?>"
id="op_rem.<?= $row->id_pr_ordens ?>">
<label class="form-check-label text-danger" for="op_rem.<?= $row->id_pr_ordens ?>">Remover</label>
</div>
</td>
<td>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="op_enc[]" value="<?= $row->id_pr_ordens ?>"
id="op_enc.<?= $row->id_pr_ordens ?>" />
<label class="form-check-label text-success" for="op_enc.<?= $row->id_pr_ordens ?>">Encerrar</label>
</div>
</td>
...
<script>
$("th input[type='checkbox']").on("change", function() {
// remove seleção de todos checkboxes
$('input[type="checkbox"]').not(this).prop("checked", false);
// seleciona todos os elemento da coluna selecionada
var cb = $(this), // checkbox that was changed
th = cb.parent(), // get parent th
col = th.index() + 1; // get column index. note nth-child starts at 1, not zero
$("tbody td:nth-child(" + col + ") input").prop("checked", this.checked); // select the inputs and [un]check it
});
$(document).ready(function() {
// uncheck other boxes on the same row
$(".form-check-input").click(function() {
$('input[type="checkbox"]').change(function() {
$(this).closest('tr').find('input[type="checkbox"]').not(this).prop('checked', false);
});
});
});
</script>