Partage
  • Partager sur Facebook
  • Partager sur Twitter

.prop("checked",true) ne marche pas

    1 juillet 2019 à 8:58:10

    Bonjour à tous,

    Je me trouve face à un problème et je ne trouve pas la solution : 

    Projet perso sur Wordpress, j'ai une avec plusieurs table, chacune dans une <div> contenant chacune des radiobox. Je pré-remplis ces formulaire en fonction de ma base de donnée avec 

    jQuery("input[name=sc2_1][value='1']").prop("checked",true);

    Tout marche bien sauf pour une de mes tables, qui refuse de se pré-remplir et je n'arrive pas à comprendre pourquoi..

    J'ai bien testé si j'avais un problème dans mes noms d'input mais ce n'est pas ça, exemple 

    jQuery("input[name=sc5_1][value='1']").hide();

    marche très bien.

    Je bloque totalement, est-ce que quelqu'un aurait une idée de ce qui pourrait causer un problème comme ça, y'a t il des conditions particulière pour que ça marche ? Je peux très bien mettre tout le code mais ça va être un peu lourd.. 

    ( Rien dans le css, je n'ai pas d'autre fonction concernant ces inputs particulièrement )

    Bien Cordialement


    -
    Edité par RaphMoreau 1 juillet 2019 à 8:59:58

    • Partager sur Facebook
    • Partager sur Twitter
      1 juillet 2019 à 11:18:35

      Salut,

      pourquoi vérifier la value ?

      Si la value est 0 il ne se passera rien.

      • Partager sur Facebook
      • Partager sur Twitter
        1 juillet 2019 à 11:42:20

        Salut et merci pour la contribution !

        Je vérifie la value pour séléctionner la checkbox que je souhaite checker. Mes checkbox ressemble à ça 

                  <td align="center"><input type="radio" id="sc5_1_0" name="sc5_1" value="0" ;" ></td>
                  <td align="center"><input type="radio" id="sc5_1_1" name="sc5_1" value="1" ;" ></td>
                  <td align="center"><input type="radio" id="sc5_1_2" name="sc5_1" value="2" ;" ></td>
                  <td align="center"><input type="radio" id="sc5_1_3" name="sc5_1" value="3" ;" ></td>
                  <td align="center"><input type="radio" id="sc5_1_4" name="sc5_1" value="4" ;" ></td>
                  <td align="center"><input type="radio" id="sc5_1_5" name="sc5_1" value="5" ;" ></td>
                  <td align="center"><input type="radio" id="sc5_1_6" name="sc5_1" value="6" ;" ></td>

        Je peux le faire avec l'id mais ça ne change rien. Exemple 

        ?><script>jQuery("input[name=sc5_1][value='2']").prop("checked",true);</script> <?php
        ?><script>jQuery("input[id=sc5_1_2]").prop("checked",true);</script> <?php
        ?><script>jQuery("input[name=sc5_1][value='2']").hide();</script> <?php
        ?><script>jQuery("input[id=sc5_1_2]").hide();</script> <?php

        Là, les deux .hide() fonctionne très bien, les deux .prop() ne fonctionne pas.

        Ce qui est étonnant c'est que j'ai fait ça sur plusieurs autres tables et tout fonctionne normalement. J'ai testé de changer les noms et id des inputs pour voir si il y avait un conflit, j'ai réduit ma table au strict minimun pour voir si il y avait un conflit... rien..  Y'a surement quelque chose que je n'ai pas vu mais j'y suis depuis pas mal d'heures et je bloque...


        -
        Edité par RaphMoreau 1 juillet 2019 à 11:46:29

        • Partager sur Facebook
        • Partager sur Twitter
          1 juillet 2019 à 18:35:33

          Bonjour

          Pour moi cela fonctionne :

          https://codepen.io/Zonecss/pen/gNeWza

          par compte il y a un pb html après chaque attribut value il y a un '; "' en trop c'est peut être cela qui fait buger le code

          • Partager sur Facebook
          • Partager sur Twitter
          Découvrez les Css avec la zonecss.fr
            2 juillet 2019 à 10:54:37

            oui, mais pour moi ça à pas de sens de checker la value initiale de l'input, autant utiliser un id, c'est plus fiable.

            • Partager sur Facebook
            • Partager sur Twitter
              2 juillet 2019 à 13:57:06

              Bonjour à tous et merci pour vos commentaires

              @AliasDmc

              J'avais vu le ;" en trop mais après rectification toujours pas d'amélioration. En effet le code fonctionne si il est pris comme ça, mais sur mon projet je dois avoir quelque chose qui rentre en conflit et qui ne permet pas le bon fonctionnemet.

              @Ik77

              En effet, je pourrais tout à fait passer par l'id, et voulais passer par la pour préparer à une fonction type ' si valeur bdd = x , alors check input ou value = x'. Bref ça ne règle pas trop le problème.

              Après encore quelques essais infructueux, j'ai deux questions : 
              - Savez vous si il y a des conditions partcilières pour que ça marche ?

              - Ai-je un moyen quelconque de regarder si il y un conflit a ce niveau ? 

              • Partager sur Facebook
              • Partager sur Twitter
                2 juillet 2019 à 17:54:32

                Bonjour RaphMoreau,

                Tu as essayé de le mettre dans un ready comme dans mon exemple ?

                $( document ).ready(function() {
                  jQuery("input[name=sc5_1][value='3']").prop("checked",true);
                  //jQuery("input[id=sc5_1_2]").prop("checked",true); 
                });



                • Partager sur Facebook
                • Partager sur Twitter
                Découvrez les Css avec la zonecss.fr
                  4 juillet 2019 à 12:28:46

                  Encore merci @AliasDmc pour l'aide mais malheureusement le .ready() ne change rien.

                  Je test systématiquement avec un hide() pour voir si je ne fais pas de faute dans mes nom/id etc, et le hide marche très bien. C'est donc bien la prop(checked) qui bloque ici

                  J'ai continuer à utiliser cette méthode pour d'autre table et ça marche, j'ai donc bien un problème sur 1 seule de mes tables, et je n'arrive toujours pas à trouver d'où vient le problème... 

                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 juillet 2019 à 14:20:54

                    Et pourquoi tu essaye de mettre une property checked sur un input ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 juillet 2019 à 14:33:31

                      En gros, je fais un outil qui marche comme ça : 

                      - (1) Utilisateur A envoie un questionnaire à utilisateur B

                      - (2) Utilisateur B rempli le questionnaire 

                      - (3) Utilisateur A reçoit le questionnaire comme l'a rempli l'utilisateur B ( avec ses réponses quoi )

                      Du coup pour fabriquer ce que reçoit l'utilisateur A en (3), je reprends le questionnaire, regarde dans ma bdd les réponses de l'utilisateur B, et le rempli en fonction. Je sais pas si je suis clair @Ik77 ? 

                      -
                      Edité par RaphMoreau 4 juillet 2019 à 14:34:07

                      • Partager sur Facebook
                      • Partager sur Twitter

                      .prop("checked",true) ne marche pas

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown