Question Vérifiez si la case est cochée avec jQuery


Comment puis-je vérifier si une case à cocher dans un tableau de cases à cocher est cochée en utilisant l'identifiant du tableau de cases à cocher?

J'utilise le code suivant, mais il renvoie toujours le nombre de cases cochées indépendamment de l'identifiant.

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


origine


Réponses:


Les ID doivent être uniques dans votre document, ce qui signifie que vous ne devrait pas fais ceci:

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

Au lieu de cela, supprimez l'ID, puis sélectionnez-les par nom ou par un élément conteneur:

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

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

Et maintenant le 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")

Cela devient si la case est cochée.

Pour un tableau de cases à cocher avec le même nom, vous pouvez obtenir la liste des cases cochées par:

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

Ensuite, pour les parcourir et voir ce qui est vérifié, vous pouvez faire:

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

Pour trouver combien sont vérifiés vous pouvez faire:

$boxes.length;

1689
2018-02-05 00:24



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

Le code ci-dessus renvoie true si la case est cochée ou false si ce n'est pas le cas.


240
2018-05-31 09:37



Toutes les méthodes suivantes sont utiles:

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

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

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

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

Il est recommandé que DOMelement ou inline "this.checked" soit évité à la place jQuery on method soit utilisé comme écouteur d'événement.


79
2017-07-13 16:25



Le concept le plus important à retenir à propos de l'attribut checked est   qu'il ne correspond pas à la propriété checked. L'attribut   correspond en fait à la propriété defaultChecked et devrait être utilisé   seulement pour définir la valeur initiale de la case à cocher. L'attribut checked   la valeur ne change pas avec l'état de la case à cocher,   propriété vérifiée fait. Par conséquent, le moyen compatible avec tous les navigateurs   déterminer si une case à cocher est activée est d'utiliser la propriété

Toutes les méthodes ci-dessous sont possibles

elem.checked 

$(elem).prop("checked") 

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

57
2017-07-09 06:40



Code jQuery pour vérifier si la case est cochée ou non:

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

Alternativement:

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

57
2017-10-04 10:06



Vous pouvez utiliser ce code,

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



Vous pouvez essayer ceci:

<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