¿Cómo podemos marcar una casilla de verificación solo si un valor dinámico coincide con el valor de la casilla de verificación en una línea sin aplicar la condición if? de lo contrario, desactive la casilla de verificación.
var checkVal = 'red'; $('#black:input[value="'+checkVal+'"]').prop('checked', true); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="form-check"> <input class="form-check-input" type="checkbox" value="black" id="black" checked> <label class="form-check-label" for="black"> Black </label> </div>!= según @DarkBee funciona aquí, algo que yo tampoco sabía.
var checkVal = 'red'; $('input[value!="'+checkVal+'"]').prop('checked', false); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="form-check"> <input class="form-check-input" type="checkbox" value="black" id="black" checked> <label class="form-check-label" for="black"> Black </label> </div> var checkVal = 'black'; $('input[value="'+checkVal+'"]').prop('checked', true); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="form-check"> <input class="form-check-input" type="checkbox" value="black" id="black" checked> <label class="form-check-label" for="black"> Black </label> </div>Simplemente compare el valor en su prop:
var checkVal = 'red'; var $element = $('#black'); $element.prop('checked', $element.val() === checkVal); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="form-check"> <input class="form-check-input" type="checkbox" value="black" id="black" checked> <label class="form-check-label" for="black"> Black </label> </div>