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



10 Answers

$('#' + 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;
javascript jquery checkbox

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



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.




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



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



Puede utilizar cualquiera de los siguientes códigos recomendados por jQuery.

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



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



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.




Algo como esto puede ayudar

togglecheckBoxs =  function( objCheckBox ) {

    var boolAllChecked = true;

    if( false == objCheckBox.checked ) {
        $('#checkAll').prop( 'checked',false );
    } else {
        $( 'input[id^="someIds_"]' ).each( function( chkboxIndex, chkbox ) {
            if( false == chkbox.checked ) {
                $('#checkAll').prop( 'checked',false );
                boolAllChecked = false;
            }
        });

        if( true == boolAllChecked ) {
            $('#checkAll').prop( 'checked',true );
        }
    }
}



En realidad, de acuerdo con jsperf.com , las operaciones de DOM son las más rápidas, luego $ (). Prop () seguidas de $ (). ¡Es ()!

Aquí están las sintaxis:

var checkbox = $('#'+id);
/* OR var checkbox = $("input[name=checkbox1]"); whichever is best */

/* The DOM way - The fastest */
if(checkbox[0].checked == true)
   alert('Checkbox is checked!!');

/* Using jQuery .prop() - The second fastest */
if(checkbox.prop('checked') == true)
   alert('Checkbox is checked!!');

/* Using jQuery .is() - The slowest in the lot */
if(checkbox.is(':checked') == true)
   alert('Checkbox is checked!!');

Personalmente prefiero .prop() . A diferencia de .is() , también se puede utilizar para establecer el valor.




usa el código de abajo

<script>

$(document).ready(function () {
  $("[id$='chkSendMail']").attr("onchange", "ShowMailSection()");
}

function ShowMailSection() {
  if ($("[id$='chkSendMail'][type='checkbox']:checked").length >0){
      $("[id$='SecEmail']").removeClass("Hide");
  }
</script>



Related