IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Changer de page depuis une liste déroulante


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut Changer de page depuis une liste déroulante
    Bonjour,

    Code JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="window.location.href='spip.php?mot' + this.selectedIndex.value;">
    Code jQuery
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="window.location.href='spip.php?mot' + $('#AllfieldsList').val();">
    Code complet de mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <select onchange="window.location.href='spip.php?mot' + this.selectedIndex.value;">
    <option value="12">Afrique Australe</option>
    <option value="10">Afrique Centrale</option>
     
    <option value="9">Afrique de l’Est</option>
    <option value="13">Afrique de
     l’Ouest</option>
    <option value="11">Afrique du Nord</option>
    </select>
    Que ce soit en JS ou en Jquery, en cliquent sur un élément de liste sur la barre d'adresse j'ai cette url
    http://www.monsite.com/spip.php?motundefined

    J'ai l'impression que c'est JS ou Jquery qui ne lit pas les value des options.

    Que faire???

    Meilleures salutations

  2. #2
    Invité
    Invité(e)
    Par défaut
    Et avec

    javascript: après le onchange ? edit : surtout pas

    document.location au lieu de window.location edit : pas besoin

    this.options[this.selectedIndex].value; au lieu de this.selectedIndex.value;

    ?

    Ce qui donnerait :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="javascript:document.location.href='spip.php?mot' + this.options[this.selectedIndex].value;">

    fonctionne chez moi
    Dernière modification par Invité ; 20/08/2009 à 12h46.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par Karzoff Voir le message
    Et avec
    javascript: après le onchange ?
    document.location au lieu de window.location
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="javascript:window.location.href='spip.php?mot' + this.selectedIndex.value;">
    Si j'ai bien compris, je suis renvoyé vers la page spip.php?motundefined au lieu de http://www.monsite.com/spip.php?mot10 par exemple.

    Meilleures salutations.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par Karzoff Voir le message
    Et avec

    javascript: après le onchange ?

    document.location au lieu de window.location

    this.options[this.selectedIndex].value; au lieu de this.selectedIndex.value;

    ?

    Ce qui donnerait :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="javascript:document.location.href='spip.php?mot' + this.options[this.selectedIndex].value;">

    Edit: fonctionne chez moi
    Ça marche super bien. Merci...

    Et si on voulait le faire en jQuery???

    Meilleures salutations.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Désolé je ne connais strictement rien au jQuery, j'ai juste vu quelques bouts de code dans des conférences, ça s'arrête là pour moi

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par Karzoff Voir le message
    Désolé je ne connais strictement rien au jQuery, j'ai juste vu quelques bouts de code dans des conférences, ça s'arrête là pour moi
    Merci

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Karzoff Voir le message
    javascript: après le onchange ?
    Strictement inutile : voir la FAQ
    document.location au lieu de window.location
    location se suffit à lui-même

    this.options[this.selectedIndex].value; au lieu de this.selectedIndex.value;
    L'erreur vient bien d'ici !
    Mais this.value est valable aussi.
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="javascript:document.location.href='spip.php?mot' + this.options[this.selectedIndex].value;">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="location.href='spip.php?mot' + this.value;">
    Citation Envoyé par okoweb
    Et si on voulait le faire en jQuery???
    Ca ne changerait rien, jQuery est utile pour cibler des éléments du document à partir de scripts externes dans le but justement d'éviter ce genre de code intrusif (l'utilisation des attributs événement).
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Invité
    Invité(e)
    Par défaut
    Merci Bovino, pour tes précisions, je vais relire de ce pas les cours JavaScript pour éviter de dire n'importe quoi.

  9. #9
    Membre éclairé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Par défaut
    voila ce que j'aurais proposé en jQuery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <select id="monSelect">
      <option value="0">sélectionner une option</option>
      <option value="1">Afrique</option>
      <option value="2">Amérique</option>
      <option value="3">Asie</option>
      <option value="4">Australie</option>
      <option value="5" selected="selected">Europe</option>
    </select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $(document).ready(function(){
         $("#monSelect option").click(function(){
              var selectedValue = $(this).attr("value");
              if(selectedValue != 0)
              {
                   document.location.href= 'spip.php?mot' + selectedValue;
              } 
              return false;    
         }
    }

  10. #10
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        <script type="text/javascript">
            $(document).ready(function(){
                $("#monSelect").change(function(){
                    var obj = $("option:selected",this);
     
                    alert($(obj).val() + " = " + $(obj).text());
                });
            });
        </script>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. Réponses: 10
    Dernier message: 14/02/2025, 00h04
  2. Requête paramétrée depuis une liste déroulante dans un formulaire
    Par coyote06 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 14/01/2010, 12h29
  3. Supprimer des fichiers depuis une liste déroulante
    Par Flo88 dans le forum VBA Access
    Réponses: 7
    Dernier message: 28/03/2008, 09h14
  4. Réponses: 12
    Dernier message: 18/10/2007, 10h34
  5. Réponses: 1
    Dernier message: 20/04/2006, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo