J'ai déjà essayé toutes les manières possibles, mais je ne l'ai toujours pas fait fonctionner. J'ai une fenêtre modale avec un checkbox
je veux que lorsque le modal s'ouvre, la checkbox
vérification ou la décoche doit être basée sur une valeur de base de données. (Je travaille déjà avec d'autres champs de formulaire.) J'ai commencé à essayer de le vérifier, mais cela n'a pas fonctionné.
Ma div html:
<div id="fModal" class="modal" >
...
<div class="row-form">
<div class="span12">
<span class="top title">Estado</span>
<input type="checkbox" id="estado_cat" class="ibtn">
</div>
</div>
</div>
et le jquery:
$("#estado_cat").prop( "checked", true );
J'ai également essayé avec attr
, et d'autres vu ici dans les forums, mais aucun ne semble fonctionner. Quelqu'un peut-il me montrer le bon chemin?
EDIT: ok, il me manque vraiment quelque chose ici ... Je peux cocher / décocher en utilisant du code si la case à cocher est dans la page, mais est-ce dans la fenêtre modale, je ne peux pas. J'ai essayé des dizaines de façons différentes ...
J'ai un lien qui est censé ouvrir le modal:
et jquery pour "écouter" le clic et exécuter certaines opérations comme remplir certaines zones de texte avec des données provenant de la base de données. Tout fonctionne comme je veux, mais le problème est que je ne peux pas cocher / décocher la case à l'aide du code. Aidez-moi, s'il vous plaît!
$(function() {
$(".editButton").click(function(){
var id = $(this).data('id');
$.ajax({
type: "POST",
url: "process.php",
dataType:"json",
data: { id: id, op: "edit" },
}).done(function( data ) {
//the next two lines work fine, i.e., it grabs the value from database and fills the textboxes
$("#nome_categoria").val( data['nome_categoria'] );
$("#descricao_categoria").val( data['descricao_categoria'] );
//then I tried to set the checkbox checked (because its unchecked by default) and it does not work
$("#estado_cat").prop("checked", true);
$('#fModal').modal('show');
});
evt.preventDefault();
return false;
});
});
Réponses:
vous devez utiliser la fonction 'prop':
Avant jQuery 1.6 (voir la réponse de user2063626 ):
la source
Prendre toutes les réponses proposées et les appliquer à ma situation - essayer de cocher ou décocher une case basée sur une valeur récupérée de vrai (devrait cocher la case) ou faux (ne devrait pas cocher la case) - J'ai essayé tout ce qui précède et a constaté que l'utilisation de .prop ("vérifié", vrai) et .prop ("vérifié", faux ) était la bonne solution.
Je ne peux pas encore ajouter de commentaires ou de réponses, mais je pensais que c'était suffisamment important pour ajouter à la conversation.
Voici le code long pour une modification de calendrier complet qui dit que si la valeur récupérée "allDay" est vraie, alors cochez la case avec l'ID "even_allday_yn":
la source
$( "#even_allday_yn").prop('checked', allDay);
$('#even_allday_yn').prop('checked', allDay === true)
fonctionnera carallDay === true
donne un résultat booléen.Mec essayez ci-dessous le code:
OU
OU
la source
.prop('checked', true)
au lieu deattr
- je suis juste tombé sur le même problème etprop
fonctionne.:checked
pseudo-sélecteur ou d'autres fonctionnalités HTML de case à cocher native, vous devez utiliser.prop
..attr()
est la voie à suivre pour les versions antérieures,.prop()
pour jQuery 1.6+.L'attribut "vérifié" coche la case dès qu'elle existe. Donc, pour cocher / décocher une case, vous devez activer / désactiver l'attribut.
Pour cocher la case:
Pour décocher la case:
Pour tester l'état vérifié:
J'espère que cela aide...
la source
Puisque vous êtes dans une fenêtre modale (qu'elle soit dynamique ou dans la page), vous pouvez utiliser le code suivant pour atteindre votre objectif: (j'ai rencontré le même problème sur mon site et c'est ainsi que je l'ai résolu)
HTML:
CODE:
Dans ce qui précède, "kendoWindow" est ma fenêtre (la mienne est dynamique, mais je le fais également en ajoutant un élément directement dans la page). Je parcours un tableau de données ("queriesToAddToGroup") pour voir si des lignes ont un attribut COPY. Si c'est le cas, je souhaite activer la case à cocher dans la fenêtre qui définit cet attribut lorsqu'un utilisateur enregistre à partir de cette fenêtre.
la source
prop
comme le suggère cette réponse, est la manière CORRECTE d'accomplir la vérification / dé-vérification dynamique des cases à cocher jQuery.Assurez-vous que vrai et faux ne sont pas entre guillemets.
la source
.prop('checked', true);
Plus d'infos dans cet article.attr()
a fonctionné, comme décrit.Vous pouvez écrire comme ci-dessous le code donné.
HTML
jQuery
J'espère que cela fonctionnera pour vous.
la source
Si vous souhaitez utiliser cette fonctionnalité pour un script GreaseMonkey pour cocher automatiquement une case à cocher sur une page, gardez à l'esprit que le simple fait de définir la propriété cochée peut ne pas déclencher l'action associée. Dans ce cas, "cliquer" sur la case à cocher le fera probablement (et définira également la propriété cochée).
la source
Find retournera un tableau, utilisez donc [0] pour obtenir même s'il n'y a qu'un seul élément
si vous n'utilisez pas find alors
cela a bien fonctionné dans Mozilla Firefox pour moi
la source
A travaillé pour moi:
la source
Essayez ceci car vous utilisez probablement jQuery UI (sinon, veuillez commenter)
la source
Avez-vous essayé d'exécuter
$("#estado_cat").checkboxradio("refresh")
votre case à cocher?la source
Cela marche.
la source
J'ai aussi rencontré ce problème.
et voici mon ancien code ne fonctionne pas
voici mon nouveau code qui fonctionne maintenant:
ainsi, le point clé est avant qu'il ne fonctionne, assurez-vous que la propriété vérifiée existe et n'a pas été supprimée.
la source
Jbookaccess.prop("checked", data.access != 'private');
Cela se produit car vous avec la version la plus récente de jquery
attr('checked')
retourne'checked'
lors deprop('checked')
retourstrue
.la source
la source
Cochez la case après avoir chargé la fenêtre modale. Je pense que vous définissez la case à cocher avant de charger la page.
la source
Je sais que cela demande une solution Jquery, mais je pensais simplement qu'il serait très facile de basculer cela en Javascript simple.
Il fonctionnera dans toutes les versions actuelles et futures.
la source
N'oubliez pas d'incrémenter l'attribut id et for respectivement. Pour la case à cocher Bootstrap ajoutée dynamiquement.
la source