jquery set case à cocher cochée

J’ai déjà essayé tous les moyens possibles, mais je ne l’ai toujours pas fait fonctionner. J’ai une fenêtre modale avec une checkbox Je veux que lorsque le modal s’ouvre, la checkbox cocher ou décocher doit être basée sur une valeur de firebase database. (J’ai déjà travaillé avec d’autres personnes sur des champs.) J’ai commencé à essayer de le faire vérifier, mais cela n’a pas fonctionné.

Mon html div:

  

et le jquery:

 $("#estado_cat").prop( "checked", true ); 

J’ai aussi essayé avec attr et d’autres vues sur les forums, mais aucune ne semble fonctionner. Quelqu’un peut-il m’indiquer le bon chemin?

EDIT: ok, il me manque vraiment quelque chose ici … Je peux cocher / décocher en utilisant le code si la case à cocher est dans la page, mais c’est 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 des opérations comme remplir des zones de texte avec des données provenant de la firebase database. Tout fonctionne comme je le souhaite mais le problème est que je ne peux pas cocher / décocher la case à cocher en utilisant le 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, ie, it grabs the value from database and fills the textboxes $("#nome_categoria").val( data['nome_categoria'] ); $("#descricao_categoria").val( data['descricao_categoria'] ); //then I sortinged 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; }); }); 

vous devez utiliser la fonction ‘prop’:

 .prop('checked', true); 

Avant jQuery 1.6 (voir la réponse de user2063626 ):

 .attr('checked','checked') 

En prenant toutes les réponses proposées et en les appliquant à ma situation – en essayant de cocher ou décocher une case basée sur une valeur extraite de true (doit cocher la case) ou false (ne doit pas cocher la case) trouvé que l’utilisation de .prop (“checked”, true) et .prop (“checked”, false ) étaient la solution correcte.

Je ne peux pas encore append de commentaires ou de réponses, mais je pensais que c’était assez important pour append à la conversation.

Voici le code long pour une modification complète qui indique si la valeur extraite “allDay” est vraie, puis cochez la case avec l’ID “even_allday_yn”:

 if (allDay) { $( "#even_allday_yn").prop('checked', true); } else { $( "#even_allday_yn").prop('checked', false); } 

Mec essayer ci-dessous le code:

 $("div.row-form input[type='checkbox']").attr('checked','checked') 

OU

 $("div.row-form #estado_cat").attr("checked","checked"); 

OU

 $("div.row-form #estado_cat").attr("checked",true); 

Étant donné que vous êtes dans une fenêtre modale (dynamic ou sur la page), vous pouvez utiliser le code suivant pour atteindre votre objective: (J’ai rencontré le même problème sur mon site et c’est comme ça que j’ai résolu le problème)

HTML:

 

CODE:

 $.each(queriesToAddToGroup, function (index, query) { if (query.groupAddType === queriesGroupAddType.COPY) { // USE FIND against your dynamic window and PROP to set the value // if you are using JQUERY 1.6 or higher. $(kendoWindow).find("input#QueryGroupCopyQueries").prop("checked", true); return; } 

Dans la section ci-dessus, “kendoWindow” est ma fenêtre (la mienne est dynamic, mais je le fais aussi lorsque j’ajoute un élément directement dans la page). Je suis en train de parcourir un tableau de données (“queriesToAddToGroup”) pour voir si des lignes ont un atsortingbut de COPY. Si oui, je veux activer la case à cocher dans la fenêtre qui définit cet atsortingbut lorsqu’un utilisateur enregistre à partir de cette fenêtre.

L’atsortingbut “checked” coche la case dès qu’elle existe. Donc, pour cocher / décocher une case, vous devez définir / désactiver l’atsortingbut.

Pour cocher la case:

 $('#myCheckbox').attr('checked', 'checked'); 

Pour décocher la case:

 $('#myCheckbox').removeAttr('checked'); 

Pour tester le statut vérifié:

 if ($('#myCheckbox').is(':checked')) 

J’espère que cela aide…

 .attr("checked",true) .attr("checked",false) 

travaillera.Assurez-vous que true et false ne sont pas entre guillemets.

Vous pouvez écrire comme ci-dessous code donné.

HTML

  

jQuery

 $(document).ready(function(){ $(".ibtn").click(function(){ $(".ibtn").attr("checked", "checked"); }); }); 

J’espère que cela fonctionne pour vous.

 $("#divParentClip").find("#subclip_checkbox")[0].checked=true; 

Find retournera le tableau, donc utilisez [0] pour obtenir même s’il n’y a qu’un seul élément

si vous n’utilisez pas find, alors

 $("#subclip_checkbox").checked=true; 

cela a bien fonctionné dans Mozilla Firefox pour moi

Travaillé pour moi:

 $checkbok.prop({checked: true}); 

Essayez ceci car vous utilisez probablement l’interface utilisateur jQuery (sinon, veuillez commenter)

  $("#fModal" ).dialog({ open: function( event, ui ) { if(//some hidden value check which stores the DB value==expected value for checking the Checkbox) $("div.row-form input[type='checkbox']").attr('checked','checked'); } }); 

Avez-vous essayé d’exécuter $("#estado_cat").checkboxradio("refresh") sur votre case à cocher?

Cela marche.

  $("div.row-form input[type='checkbox']").attr('checked','checked'); 

Cela se produit car la dernière version de jquery attr('checked') renvoie 'checked' alors que prop('checked') renvoie true .

J’ai aussi rencontré ce problème.

et voici mon ancien code ne fonctionne pas

 if(data.access == 'private'){ Jbookaccess.removeProp("checked") ; //I also have sortinged : Jbookaccess.removeAttr("checked") ; }else{ Jbookaccess.prop("checked", true) } 

voici mon nouveau code qui fonctionne maintenant:

 if(data.access == 'private'){ Jbookaccess.prop("checked",false) ; }else{ Jbookaccess.prop("checked", true) } 

ainsi, le point clé est avant que cela fonctionne, assurez-vous que la propriété cochée existe et n’a pas été supprimée.

Cochez la case après avoir chargé la fenêtre modale. Je pense que vous cochez la case avant de charger la page.

 $('#fModal').modal('show'); $("#estado_cat").attr("checked","checked");