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 :

Mettre à jour un select/option [UI Mobile]


Sujet :

jQuery

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Mettre à jour un select/option
    Bonjour

    je dois vériifier mes selects et metre "selected" celui qui est actif.
    J'utilise localstorage.
    Donc je vais chercher ma value, je parcours mon select et si la valeur est égal à la variable localstorage, je dois ajouté selected.

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     ls_field_saved = localStorage.getItem('field');
     
        $("#fdomainepref option").each(function(){
            if(this.value == ls_field_saved){
                this.attr('selected','selected');
            };
        })
    Ma manière de faire, ne va pas car attr() n'est pas une fonction de this.
    Est-ce qu'il y aurait une manière de faire plus galante?
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    mais c'est plus simple de chercher directement sur la doc de jquery...
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Salut Bourvil,

    Mais je me suis tellement pris la tête.
    J'ai réussi à faire de cette manière, même si ca semble fonctionner je vais essayer ta proposition, ce soir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $( document).on( "pageshow", "#preferences", function( e ) {
        ls_field_saved = localStorage.getItem('field');
        var fi = $('#fdomainepref');
        fi.val(ls_field_saved).attr("selected",true);
        fi.selectmenu("refresh", true);
     
        ls_threshold_saved = localStorage.getItem('threshold');
        var th = $('#threshold');
        th.css("border","1px solid red");
        th.val(ls_threshold_saved).attr("selected",true);
        th.selectmenu("refresh", true);
    });
    Je constate juste à l'instant, je vais devoir aussi ajouter parseint(), car localStorage retourne un chaine de caractère.
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Bonjour,

    Sans each ,ce code est largement suffisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $("#fdomainepref").val(ls_field_saved);
    Si l'option ayant la valeur de ls_field_saved existe, jQuery la sélectionne, sinon il ne fait rien.

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Oui mais c'est pas la valeur que je veux changer, c'est d'ajouter l'attribut selected
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Quand tu modifies la valeur d'un <select> avec $.val("valeur"), jQuery essaies de trouver l'option correspondante à la valeur, et si elle est trouvée, elle devient la valeur du <select> par defaut.

    Donc sans selected tu peux utiliser $.val() pour la modification et aussi la récupération.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 25/06/2008, 13h54
  2. [Conception] mettre à jour un Select Option via BDD
    Par Skeud007 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/06/2006, 22h22
  3. [REDHAT] Comment mettre à jour glibc
    Par Abdel58 dans le forum RedHat / CentOS / Fedora
    Réponses: 7
    Dernier message: 19/05/2006, 11h30
  4. [VB.NET] Comment mettre à jour Date/Heure de mon PDA ?
    Par zitoun dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 16/05/2006, 14h12
  5. Réponses: 2
    Dernier message: 02/05/2006, 09h50

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