664 votes

Cochez / décochez la case en utilisant jquery?

J'ai quelques champs de texte de saisie dans ma page, j'affiche leurs valeurs using la fonction de javascript setVal pour éditer, j'ai ajouté un champ de case à cocher supplémentaire, j'ai passé une valeur,

ici je veux vérifier que si valeur == 1, alors cette case doit être cochée sinon cochée,

Je l'ai fait en utilisant deux divs, mais je ne me sens pas à l'aise avec cela, y at-il une autre solution?

Merci d'avance

 if(value == 1) {
    $('#uncheck').hide();
    $('#check').show();
} else{
    $('#uncheck').show();
    $('#check').hide();
}
 

1390voto

Eric Points 2486

Pour cocher / décocher une case, utilisez l'attribut checked et modifiez cela. Avec jQuery vous pouvez faire:

 $('#myCheckbox').attr('checked', true); // Checks it
$('#myCheckbox').attr('checked', false); // Unchecks it
 

EDIT: Parce que vous savez, en HTML, cela ressemblerait à quelque chose comme:

 <input type="checkbox" id="myCheckbox" checked="checked" /> <!-- Checked -->
<input type="checkbox" id="myCheckbox" /> <!-- Unchecked -->
 

Cependant, vous ne pouvez pas faire confiance à la méthode .attr () pour obtenir la valeur de la case à cocher (si vous en avez besoin). Vous devrez compter sur la méthode .prop () .

70voto

Rohan Kumar Points 18192

Vous pouvez utiliser prop() pour cela, Avant de jQuery 1.6, l' .attr() méthode prend parfois des valeurs de propriété en compte lors de la récupération de certains attributs, ce qui pourrait provoquer un comportement incohérent. Comme de jQuery 1.6, l' .prop() méthode fournit un moyen explicitement extraire les valeurs de propriété, tandis que l' .attr() récupère les attributs.

var prop=false;
if(value == 1) {
   prop=true; 
}
$('#checkbox').prop('checked',prop);

ou tout simplement,

$('#checkbox').prop('checked',(value == 1));

27voto

billyonecan Points 10354

Vous pouvez définir l'état de la case à cocher en fonction de la valeur:

 $('#your-checkbox').prop('checked', value == 1);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X