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 :

Set un select avec une valeur précise


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut Set un select avec une valeur précise
    Bonjour à tous,

    Je créer actuellement un tableau éditable. J'entends par là, qu'il récupère tout un tas d'information de ma BDD, qu'il me l'affiche. Chaque ligne peut-être ensuite éditée à l'aide d'une fenêtre modale.

    Je récupère bien les informations liés à un input pour pré-remplir cette fenêtre modale, mais j'ai un problème sur les select. Je récupère bien la bonne valeur, mais impossible de le pré-remplir dans ma fenêtre modale.

    Voici un peu de code : (Ce select là est principalement fait en PHP. Il a été fait par quelqu'un de l'entreprise, et marche très bien.)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    // combo fin
    											$_combo_end = '</select>'."\n";
    											// combo liste_types
    											$_combo_types = '<select name="type" id="type" class="selectpicker form-control" style="width:100%;" required="true">'."\n";
    											$_combo_types.= '<option class="none" value=""> - - - </option>'."\n";
    											// combo liste sous-types
    											$_combo_soustypes = '<select name="soustype" id="soustype" class="selectpicker form-control" style="width:100%;">'."\n";
    											$_combo_soustypes.= '<option class="none" value=""> - - - </option>'."\n";
    											// combo liste sous-sous-type
    											$_combo_sousoustypes = '<select name="soussoustype" id="soussoustype" class="selectpicker form-control" style="width:100%;">'."\n";
    											$_combo_sousoustypes.= '<option class="none" value=""> - - - </option>'."\n";
    											// recuperation données
    											$listeAction = $mobilecrm->getListeTypesAction( );
    											//echo '<pre>';
    											//print_r( $listeAction );
    											//echo '</pre>';
    											$niv1 = 1;
    											$niv2 = 1;
    											$niv3 = 1;
    											if ( isset($listeAction) && !empty($listeAction) ) {
    												foreach ( $listeAction as $type => $liste ) :
    													$_combo_types.= '<option class="opt_'.$niv1.''.(isset($liste['ENFANTS'])?' parent':'').'" value="'.$type.'" title="'.$liste['NOM'].'">'.$liste['NOM'].'</option>'."\n";
    													if ( isset($liste['ENFANTS']) ) {
    														foreach ( $liste['ENFANTS'] as $soustype => $sousliste ) :
    															$_combo_soustypes.= '<option class="p_'.$niv1.''.(isset($sousliste['ENFANTS'])?' parent':'').'" id="opt_'.$niv2.'" value="'.$type.'-'.$soustype.'" title="'.$sousliste['NOM'].'" style="display:none;">'.$sousliste['NOM'].'</option>'."\n";
    															if ( isset($sousliste['ENFANTS']) ) {
    																foreach ( $sousliste['ENFANTS'] as $soussoustype => $soussousliste ) :
    																	$_combo_sousoustypes.= '<option class="p_'.$niv2.'" value="'.$type.'-'.$soustype.'-'.$soussoustype.'" title="'.$soussousliste['NOM'].'" style="display:none;">'.$soussousliste['NOM'].'</option>'."\n";
    																$niv3++;
    																endforeach;
    															}
    														$niv2++;
    														endforeach;
    													}
    													$niv1++;
    												endforeach;
    												// on ferme les combos
    												$_combo_types.= $_combo_end."\n";
    												// affichage des combos
    												// ---- types
    												echo $_combo_types;
    												// ---- soustypes
    												echo '<div id="select_soustype" style="display:none;" >'."\n";
    												echo '<label class="control-label" for="soustype">Sous-type :</label>'."\n";
    												echo $_combo_soustypes;
    												echo $_combo_end;
    												echo '</div>'."\n";
    												// ---- sousoustypes
    												echo '<div id="select_soussoustype" style="display:none;">'."\n";
    												echo '<label class="control-label" for="soussoustype">Sous-sous-type :</label>'."\n";
    												echo $_combo_sousoustypes;
    												echo $_combo_end;
    												echo '</div>'."\n";
    											}
    Et voici le javascript correspondant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    editRow: function(row) {
    				var values = row.val();
    				console.log(values);
    				var detail = noHtml(values.AC_DETAIL).trim();
    				var date = values.AC_DATE_PREVU;
    				var reg = new RegExp("[ ]+", "g");
    				var tab = date.split(reg);
    				
    				$editor.find('#type').val(values.AC_TYPEACTION);
    				$editor.find('#nom_action_id').val(values.AC_NOM_ACTION);
    				$editor.find('#ac_codeinterlocuteur_dest').val(values.AC_UTILISATEUR_DEST);
    				$editor.find('#dateDeb').val(tab[0]);
    				$editor.find('#heureDeb').val(tab[1]);
    				date = values.AC_DATEFIN;
    				tab = date.split(reg);
    				$editor.find('#dateFin').val(tab[0]);
    				$editor.find('#heureFin').val(tab[1]);
    				$editor.find('#detail_action_id').val(detail);
    				$modal.modal('show');
    				},
    La ligne en rouge, me récupère bien la bonne valeur puisque dans la console, AC_TYPEACTION retourne ce que je souhaite. Il me manque l'initialisation au select...

    Merci d'avance à tout intérêt porté à mon post !

    Bonne journée à tous !

  2. #2
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Pour mettre la valeur par défaut d'un select, il faut ajouter l'attribut "selected" à la valeur correspondante

  3. #3
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Bonjour -Rpass-

    Merci pour ton intérêt porté à ma question

    J'entends bien que c'est quelque chose du genre : http://jsfiddle.net/xkqTR/

    Mais dans mon cas, je bloque un peu au niveau de la technique plus que la compréhension...

  4. #4
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Ton code a l'air de fonctionner Qu'est-ce qui ne va pas ?

  5. #5
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    C'est juste un fiddle à part ça hein

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $editor.find('#type').val(values.AC_TYPEACTION);
    Mon values.AC_TYPEACTION n'est pas set lorsque j'ouvre ma fenêtre modale alors que dans ma console, il me récupère bien la bonne valeur.

    Donc quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var elem = document.getElementById('#type')
    elem.value = .value = values.AC_TYPEACTION;
    Devrait marcher non?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ?
    c'est un id ???

    tu utilises jquery ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var elem = document.getElementById('#type')
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var elem = document.getElementById('type')
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Select avec une valeur par défaut variable
    Par Toulousaing dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 22/11/2014, 10h05
  2. Réponses: 1
    Dernier message: 28/12/2013, 23h54
  3. insert int avec une valeur + un select
    Par polo86 dans le forum Requêtes
    Réponses: 2
    Dernier message: 29/05/2009, 12h25
  4. Réponses: 14
    Dernier message: 08/04/2008, 21h05
  5. [XPath] recherche d'un node avec un attribut d'une valeur précise
    Par jerome.fortias dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/09/2007, 17h13

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