Pregunta Marque si la casilla de verificación está marcada con jQuery


¿Cómo puedo verificar si una casilla de verificación en una matriz de casillas de verificación está marcada con la identificación de la matriz de casillas de verificación?

Estoy usando el siguiente código, pero siempre devuelve el conteo 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;
  }
}

943
2018-02-05 00:23


origen


Respuestas:


Los ID deben ser únicos en su documento, lo que significa que no debería hacer esto:

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

En su lugar, suelte la identificación y luego selecciónelas por su nombre o por un elemento que lo contenga:

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

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

Y ahora el 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;

574
2018-02-05 00:31



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

Eso se pone si la casilla de verificación está marcada.

Para una serie 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 qué se comprueba, puede hacer:

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

Para saber cuántos están marcados, puede hacer:

$boxes.length;

1689
2018-02-05 00:24



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

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


240
2018-05-31 09:37



Todos los siguientes métodos son útiles:

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

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

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

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

Se recomienda evitar DOMelement o "this.checked" en línea, en su lugar se debe usar jQuery en el método.


79
2017-07-13 16:25



El concepto más importante para recordar sobre el atributo comprobado es   que no corresponde a la propiedad comprobada. El atributo   en realidad corresponde a la propiedad checada por defecto y debe ser utilizada   solo para establecer el valor inicial de la casilla de verificación. El atributo comprobado   el valor no cambia con el estado de la casilla, mientras que   propiedad comprobada hace. Por lo tanto, la forma compatible con navegadores cruzados para   determinar si una casilla de verificación está marcada es usar la propiedad

Todos los métodos a continuación son posibles

elem.checked 

$(elem).prop("checked") 

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

57
2017-07-09 06:40



jQuery code para verificar si la casilla de verificación está marcada o no:

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

Alternativamente:

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

57
2017-10-04 10:06



Puedes usar este código,

if($("#checkboxId").is(':checked')){
     // Code in the case checkbox is checked.
} else {
     // Code in the case checkbox is NOT checked.
}

32
2017-10-07 14:26



Puedes intentar 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" />

27
2017-07-11 08:43



Según el jQuery documentación existen las siguientes formas de verificar si una casilla de verificación está marcada o no. Consideremos una casilla de verificación por ejemplo (Check Working jsfiddle 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 marcada

$("#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.");
    }
}); 

Comprobar el trabajo jsfiddle 


24
2018-02-25 15:41