javascript - type - uncheck checkbox jquery
Marque si la casilla de verificación está marcada con jQuery (20)
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") );
})
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 );
}
}
}
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);
}
});
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.
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.
Puede utilizar cualquiera de los siguientes códigos recomendados por jQuery.
if ( elem.checked ) {};
if ( $( elem ).prop( "checked" ) ) {};
if ( $( elem ).is( ":checked" ) ) {};
Puedes hacerlo simplemente como;
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" />
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.
}
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
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 cuadro de diálogo. Ninguno de los anteriores y ¿Cómo verificar si una casilla 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ó para llamar a la clase y luego la ID. en lugar de sólo la identificación. Puede deberse a los elementos DOM anidados en esta página que causan el problema. La solución estaba por encima.
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>
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>
$(''#'' + 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á.