javascript - validar - Marque si la casilla de verificación está marcada con jQuery




validar que al menos un checkbox esta seleccionado jquery (14)

El concepto más importante para recordar sobre el atributo verificado es que no corresponde a la propiedad marcada. El atributo corresponde realmente a la propiedad DefaultChecked y debe usarse solo para establecer el valor inicial de la casilla de verificación. El valor del atributo comprobado no cambia con el estado de la casilla de verificación, mientras que la propiedad marcada sí cambia. Por lo tanto, la forma compatible con todos los navegadores para determinar si una casilla está marcada es usar la propiedad

Todos los métodos a continuación son posibles

elem.checked 

$(elem).prop("checked") 

$(elem).is(":checked") 

¿Cómo puedo verificar si una casilla de verificación en una matriz de casilla de verificación está marcada utilizando el ID de la matriz de casilla de verificación?

Estoy usando el siguiente código, pero siempre devuelve el recuento de las casillas de verificación marcadas independientemente de la identificación.

function isCheckedById(id) {
  alert(id);
  var checked = $("input[@id=" + id + "]:checked").length;
  alert(checked);

  if (checked == 0) {
    return false;
  } else {
    return true;
  }
}

Activar casilla de verificación marcada

$("#checkall").click(function(){
    $("input:checkbox").prop( 'checked',$(this).is(":checked") );
})

Código jQuery para verificar si la casilla está marcada o no:

if($('input[name="checkBoxName"]').is(':checked'))
{
  // checked
}else
{
 // unchecked
}

Alternativamente:

if($('input[name="checkBoxName"]:checked'))
{
    // checked
}else{
  // unchecked
}

Demo simple para marcar y configurar una casilla de verificación.

jsfiddle !

$('.attr-value-name').click(function() {
    if($(this).parent().find('input[type="checkbox"]').is(':checked'))
    {
        $(this).parent().find('input[type="checkbox"]').prop('checked', false);
    }
    else
    {
        $(this).parent().find('input[type="checkbox"]').prop('checked', true);
    }
});

Las ID deben ser únicas en su documento, lo que significa que no debe hacer esto:

<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />

En su lugar, elimine el ID y, a continuación, selecciónelos por nombre o por un elemento contenedor:

<fieldset id="checkArray">
    <input type="checkbox" name="chk[]" value="Apples" />

    <input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>

Y ahora la jQuery:

var atLeastOneIsChecked = $('#checkArray:checkbox:checked').length > 0;
//there should be no space between identifier and selector

// or, without the container:

var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;

Para casilla con una identificación

<input id="id_input_checkbox13" type="checkbox"></input>

simplemente puedes hacer

$("#id_input_checkbox13").prop('checked')

obtendrá true o false como valor de retorno para la sintaxis anterior. Puedes usarlo en la cláusula if como expresión booleana normal.


Puedes hacerlo simplemente como;

Violín de trabajo

HTML

<input id="checkbox" type="checkbox" />

jQuery

$(document).ready(function () {
    var ckbox = $('#checkbox');

    $('input').on('click',function () {
        if (ckbox.is(':checked')) {
            alert('You have Checked it');
        } else {
            alert('You Un-Checked it');
        }
    });
});

o incluso más simple;

$("#checkbox").attr("checked") ? alert("Checked") : alert("Unchecked");

Si la checkbox está marcada, devolverá true si undefined


Puedes probar esto:

<script>
function checkAllCheckBox(value)
{
   if($('#select_all_').is(':checked')){
   $(".check_").attr ( "checked" ,"checked" );
    }
    else
    {
        $(".check_").removeAttr('checked');
    }

 }

</script>
<input type="checkbox" name="chkbox" id="select_all_" value="1" />


<input type="checkbox" name="chkbox" class="check_" value="Apples" />
<input type="checkbox" name="chkbox" class="check_" value="Bananas" />
<input type="checkbox" name="chkbox" class="check_" value="Apples" />
<input type="checkbox" name="chkbox" class="check_" value="Bananas" />

Sé que la OP quiere jquery, pero en mi caso, pura JS fue la respuesta, así que si alguien como yo está aquí y no tiene jquery o no quiere usarla, aquí está la respuesta de JS:

document.getElementById("myCheck").checked

Devuelve true si la entrada con ID myCheck está marcada y false si no está marcada.

Simple como eso.


Según la documentation jQuery documentation existen las siguientes formas de verificar si una casilla de verificación está marcada o no. Consideremos una casilla de verificación, por ejemplo (Verifique el jsfiddle trabajo con todos los ejemplos)

<input type="checkbox" name="mycheckbox" id="mycheckbox" />
<br><br>
<input type="button" id="test-with-checked" value="Test with checked" />
<input type="button" id="test-with-is" value="Test with is" />
<input type="button" id="test-with-prop" value="Test with prop" />

Ejemplo 1 - Con marcado

$("#test-with-checked").on("click", function(){
    if(mycheckbox.checked) {
        alert("Checkbox is checked.");
    } else {
        alert("Checkbox is unchecked.");
    }
}); 

Ejemplo 2 - Con jQuery es, NOTA -: marcado

var check;
$("#test-with-is").on("click", function(){
    check = $("#mycheckbox").is(":checked");
    if(check) {
        alert("Checkbox is checked.");
    } else {
        alert("Checkbox is unchecked.");
    }
}); 

Ejemplo 3 - Con jQuery prop

var check;
$("#test-with-prop").on("click", function(){
    check = $("#mycheckbox").prop("checked");
    if(check) {
         alert("Checkbox is checked.");
    } else {
        alert("Checkbox is unchecked.");
    }
}); 

Compruebe trabajar jsfiddle


Todos los siguientes métodos son útiles:

$('#checkbox').is(":checked")

$('#checkbox').prop('checked')

$('#checkbox')[0].checked

$('#checkbox').get(0).checked

Se recomienda evitar DOMelemento o en línea "this.checked", en lugar de jQuery on method debe utilizarse detector de eventos.


Usando este código puede marcar al menos una casilla de verificación seleccionada o no en diferentes grupos de casillas de verificación o entre múltiples casillas de verificación Usando esto, no puede requerir eliminar IDs o IDs dinámicas. Este código funciona con los mismos identificadores.

Link referencia

<label class="control-label col-sm-4">Check Box 2</label>
    <input type="checkbox" name="checkbox2" id="checkbox21" value=ck1 /> ck1<br />
    <input type="checkbox" name="checkbox2" id="checkbox22" value=ck2 /> ck2<br />

<label class="control-label col-sm-4">Check Box 3</label>
    <input type="checkbox" name="checkbox3" id="checkbox31" value=ck3 /> ck3<br />
    <input type="checkbox" name="checkbox3" id="checkbox32" value=ck4 /> ck4<br />

<script>
function checkFormData() {
    if (!$('input[name=checkbox2]:checked').length > 0) {
        document.getElementById("errMessage").innerHTML = "Check Box 2 can not be null";
        return false;
    }
    if (!$('input[name=checkbox3]:checked').length > 0) {
        document.getElementById("errMessage").innerHTML = "Check Box 3 can not be null";
        return false;
    }
    alert("Success");
    return true;
}
</script>

$('#' + id).is(":checked")

Eso se consigue si la casilla está marcada.

Para una matriz de casillas de verificación con el mismo nombre, puede obtener la lista de las marcadas por:

var $boxes = $('input[name=thename]:checked');

Luego, para recorrerlos y ver lo que está marcado, puedes hacer:

$boxes.each(function(){
    // Do stuff here with this
});

Para saber cuántos están marcados puedes hacer:

$boxes.length;

$('#checkbox').is(':checked'); 

El código anterior devuelve verdadero si la casilla de verificación está marcada o falsa si no lo está.





checkbox