Partage
  • Partager sur Facebook
  • Partager sur Twitter

fonction jquery select :selected

pourriez vous m'aider svp!!!

    9 août 2010 à 22:37:00

    bonjour forum js;


    dite moi je cherche en vain a utilisé une fonction une petite fonction jQuery.

    pourriez vous m'aidez svp!!!!
    j'ai trouver cette fonction ici: http://api.jquery.com/selected-selector/

    je cherche a avoir le meme resultat que dans la partie demo seulement moi et js sa fait deux.

    je vous donne mes scripts au lieux de parler pour rien dire.

    <form action="" method="post">
        <select name="taille" id="taille">
            <*taille />
        </select>
        <div id="affichage">
    
        </div>
        <label for="newTaille">Modifier le nom de cette taille</label> : <input type="text" name="newTaille" id="newTaille" />
        <input type="submit" name="taille" value="Modifier cette taille" />
    </form>
    


    $("select").change(function () {
              var str = "";
              $(this).attr("select option:selected").each(function () {
                    str += $(this).text() + " ";
                  });
              $("div").text(str);
            })
            .trigger('change');
    


    je cherche a le faire fonctionner mes il ne marche pas donc je m'en remet a vous.

    si vous pourriez m'expliquer, me corriger, m'envoyer vers un tuto ou meme sur un cour qui pourrez me permettre de comprendre mais erreur et de comblez mes lacune hesiter pas.

    merci bonne soiree a tous.
    • Partager sur Facebook
    • Partager sur Twitter
      9 août 2010 à 23:06:36

      Bonjour,

      Le script qui est utilisé comme démonstration cherche dans le "select" modifié les balises "option" qui sont sélectionnées (puis les met dans une chaine de caractère, qui est affichée)

      Dans ta page, il ne semble pas y avoir de "option" et encore moins avec l'attribut "selected".

      le tuto Jquery : http://www.siteduzero.com/tutoriel-3-1 [...] ire-plus.html
      Le tuto JavaScript : http://www.siteduzero.com/tutoriel-3-8 [...] vascript.html
      • Partager sur Facebook
      • Partager sur Twitter
        9 août 2010 à 23:28:22

        merci pour les tutos

        je les ais deja lu .

        pour le reste j'avais oublier ca.

        <*taille /> =
        <?php
        while($donnees = $SQL->fetch())
                $lang['taille'] .= '<option value="' . $donnees['idTaille'] . '">' . $donnees['value'] . '</option>';
        ?>
        

        le code source de la partie donne

        <form action="" method="post">
            <select name="taille" id="taille">
                <option value="1">s</option><option value="2">m</option><option value="3">l</option><option value="4">xl</option>
            </select>
            <div id="affichage">
        
            </div>
        
            <label for="taille">Modifier le nom de cette taille</label> : <input name="taille" id="taille" type="taille">
            <input name="taille" value="Modifier cette taille" type="submit">
        </form>
        



        donc j'ai bien un un select avec des options

        ca fonctionne mais pas le js...
        • Partager sur Facebook
        • Partager sur Twitter
          9 août 2010 à 23:40:47

          Peux-tu poster le code html(ctrl + U sous firefox) ou un lien vers la page en ligne?

          Et c'est quoi la balise <*taille />?
          • Partager sur Facebook
          • Partager sur Twitter
            9 août 2010 à 23:51:48

            donc voila je mets tous ce dont tu as besoin!

            d'abord le header de ma page.

            <link rel="stylesheet" type="text/css" media="screen" href="./app/skin/default/style.css" /><script src="./app/script/jQuery.js" type="text/javascript" ></script><script src="./app/script/header.js" type="text/javascript" ></script><script src="./app/script/modification.js" type="text/javascript" ></script>
            


            mainteant tu veus surement ca <script src="./app/script/modification.js" type="text/javascript" ></script>

            $("select").change(function () {
                      var str = "";
                      $("select option:selected").each(function () {
                            str += $(this).text() + " ";
                          });
                      $("div").text(str);
                    })
                    .trigger('change');
            


            ensuite le code source de la zone en question:

            <form action="" method="post">
                <select name="taille" id="taille">
            
                    <option value="1">s</option><option value="2">m</option><option value="3">l</option><option value="4">xl</option>
                </select>
                <div id="affichage">
            
                </div>
                <label for="taille">Modifier le nom de cette taille</label> : <input type="taille" name="taille" id="taille" />
            
                <input type="submit" name="taille" value="Modifier cette taille" />
            </form>
            


            finalement:

            la balise <*taille /> est une variable contenant mon option qui proviennent d'une base que je créé en php.

            je suis sure que mon soucie vient juste du petit bout de code js que je n'arrive pas a adapter a ma sauce.

            merci de ton attention
            • Partager sur Facebook
            • Partager sur Twitter
              10 août 2010 à 0:15:07

              Je crois que ça ne fonctionne pas parce que le script est dans le header. dans l'exemple il est au milieu du code, la ou on en a besoin.

              tu peux essayer d'en faire une fonction
              function SelectHasChanged(oSelect) {
              var str = "";
              $(oSelect).attr("select option:selected").each(function () {
              str += $(oSelect).text() + " ";
              });
              $("#affichage").text(str);
              })
              .trigger('change');
              

              et l'appeler sur l'évennement "onchange" de ton select => onchange = SelectHasChanged(this)
              • Partager sur Facebook
              • Partager sur Twitter
                10 août 2010 à 0:41:30

                il y a une erreur de syntaxe dans la fonction que tu ma donnée serieux j'ai aucune idee d'ou elle peut venir.

                merci anyway pour ton attention tu ma accorder pas mal de ton temp
                • Partager sur Facebook
                • Partager sur Twitter
                  10 août 2010 à 0:45:17

                  désolé pour la (les?) faute(s) de syntaxe, j'ai tappé ça un peu vite...

                  Il faut enlevé le .trigger, qui n'a plus lieu d'être
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 août 2010 à 0:49:05

                    function SelectHasChanged(oSelect) {
                    var str = "";
                    $(oSelect).attr("select option:selected").each(function () {
                    str += $(oSelect).text() + " ";
                    });
                    $("#affichage").text(str);
                    })
                    


                    ou ca

                    function SelectHasChanged(oSelect) {
                    var str = "";
                    $(oSelect).attr("select option:selected").each(function () {
                    str += $(oSelect).text() + " ";
                    });
                    $("#affichage").text(str);
                    })
                    .trigger('change');
                    


                    c'est pareil erreur de syntaxe
                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 août 2010 à 0:57:17

                      il est toujours dans son fichier.js séparé?

                      Je t'avouerai que j'ai pas de quoi faire les tests sous la main :/
                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 août 2010 à 1:08:19

                        oui mes je le test seulm a coté aussi ca veut pas marcher.

                        <html>
                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
                        <head>
                        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
                        <script type="text/javascript">
                        function SelectHasChanged(oSelect) {
                        var str = "";
                        $(oSelect).attr("select option:selected").each(function () {
                        str += $(oSelect).text() + " ";
                        });
                        $("#affichage").text(str);
                        }
                        </script>
                        </head>
                        <body>
                        <form action="" method="post">
                            <select name="taille" id="taille" multiple="multiple" onchange="SelectHasChanged(this);">
                                <option value="1">1</option>
                        		<option value="2">2</option>
                        		<option value="3">3</option>
                        		<option value="4">4</option>
                            </select>
                            <div id="affichage">
                        
                            </div>
                            <label for="newTaille">Modifier le nom de cette taille</label> : <input type="text" name="newTaille" id="newTaille" />
                            <input type="submit" name="taille" value="Modifier cette taille" />
                        </form>
                        </body>
                        </html>
                        
                        • Partager sur Facebook
                        • Partager sur Twitter
                          10 août 2010 à 1:15:33

                          Oui, a coté il faut utilisé la même forme que dans l'exemple que tu avais.
                          Pour l'erreur de syntaxe, je ne vois pas... désolé :(
                          • Partager sur Facebook
                          • Partager sur Twitter
                            10 août 2010 à 11:11:13

                            Salut, tu devrais revoir la syntaxe de attr : http://api.jquery.com/attr/
                            • Partager sur Facebook
                            • Partager sur Twitter

                            fonction jquery select :selected

                            × 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