J'utilise Bootstrap. J'ai une table avec une case à cocher dans un en-tête et dans chaque colonne. J'essaie de faire "vérifier tout" fonctionnalité sur jQuery, mais il semble que bootstrap n'utilise pas l'attribut vérifié. Comme je le vois, il ajoute une balise span autour de ma case à cocher et ajoute une classe "cochée". Existe-t-il une possibilité de travailler avec un attr vérifié, ou dois-je l’oublier et écrire un contrôle de classe et une permutation?
Ci-dessous se trouve la partie de code du résultat HTML:
<td>
<div class="checker">
<span class="">
<input type="checkbox" class="payout_check" style="opacity: 0;">
</span>
</div>
</td>
Ceci est une case non contrôlée. Le il est vérifié, la troisième ligne devient:
<span class="checked">
ce travail pour décocher
jQuery('span', $('#uniform-You_id_checkbox')).removeClass("checked");
$('#You_id_checkbox').removeAttr("checked");
Vous pouvez utiliser prop . J'ai fait face au même problème. En cochant une case à cocher, l'attribut vérifié était indéfini. Quand je l'ai changé pour prop, il a donné une valeur true et false basée sur l'état de la case à cocher.
$('#checkboxId').prop('checked');
Si je comprends votre problème, je pense que la réponse à une question plus ancienne devrait aider.
$('#toggle-all').click(function() {
$('.btn-group input[type="checkbox"]').prop('checked', true);
});
Cela a fonctionné pour moi:
$('#form-new-event input[type=checkbox]').parents('span').removeClass("checked");
$('#form-new-event input[type=checkbox]').removeAttr("checked");
Utilisation de jQuery
$("input[name='theCheckboxName']").is(":checked"); // Returns true or false
OR
$("input[name='theCheckboxName']").prop("checked"); // Returns true or false
Cela inspecte la propriété "vérifié" de l'élément DOM plutôt que l'existence de l'attribut "vérifié" sur la balise. En utilisant cette méthode, vous évitez d'avoir à définir et à désactiver l'attribut "vérifié".
Dans le balisage
<div class="checkbox">
<label>
<input name="theCheckboxName" type="checkbox" checked="checked"> <span>Yes</span>
</label>
</div>
Cela rend la case à cocher cochée par défaut. La propriété "vérifié" doit toujours être utilisée pour déterminer l'état par programmation.
Consultez ce lien pour plus d'informations:
http://www.tutorialrepublic.com/faq/how-to-check-a-checkbox-is-checked-or-not-using-jquery.php
$ (document) .ready (fonction () { $ ("[type = case à cocher]"). sur ("clic", fonction () { if ($ (this) .attr ("coché") == non défini) { $ (this) .attr ("coché", "coché"); } autre { $ (this) .attr ("vérifié", faux); } ); });
$('#your-checkbox-id').parents('span').removeClass("checked").end().removeAttr("checked").change();
ou
$('#your-checkbox-id').prop('checked') && $('#your-checkbox-id').click();
PS: le dernier émulera un clic (seulement si la case est cochée). Si vous ne voulez pas déclencher un événement, utilisez le premier et supprimez l'appel "change ()".