[javascript] Marque si la casilla de verificación está marcada con jQuery


Answers

$('#' + 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, recorrerlos y ver qué se ha verificado que puedes hacer:

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

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

$boxes.length;
Question

¿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;
  }
}



Activar o desactivar la casilla de verificación

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



Puede usar cualquiera de los siguientes códigos recomendados por jquery.

if ( elem.checked ) {};
if ( $( elem ).prop( "checked" ) ) {};
if ( $( elem ).is( ":checked" ) ) {};



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
}



Demo simple para verificar 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);
    }
});



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



Con este código puede marcar al menos una casilla de verificación seleccionada o no en diferentes grupos de casillas de verificación o desde múltiples casillas de verificación. Al usar esto, no puede requerir eliminar ID o ID dinámicos. Este código funciona con los mismos ID.

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>



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.




Solo para decir en mi ejemplo, la situación era un cuadro de diálogo que luego verificaba la casilla de verificación antes de cerrar el diálogo. Ninguno de los anteriores y ¿Cómo comprobar si una casilla de verificación está marcada en jQuery? y jQuery si la casilla de verificación está marcada tampoco parece funcionar.

En el final

<input class="cb" id="rd" type="checkbox">
<input class="cb" id="fd" type="checkbox">

var fd=$('.cb#fd').is(':checked');
var rd= $('.cb#rd').is(':checked');

Esto funcionó llamando a la clase y luego a la ID. en lugar de solo la identificación. Puede deberse a los elementos DOM anidados en esta página que causan el problema. La solución fue superior.




Related