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

Symfony PHP Discussion :

select_tag - comment garder la valeur de l'option choisie lors d'un onChange [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut select_tag - comment garder la valeur de l'option choisie lors d'un onChange
    voilà mon bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <?php echo select_tag('filters[nature_financiere]',
    objects_for_select(CotisationPeer::doSelect(new Criteria()),
    'getNatureFinanciere', 'getNatureFinanciere',null, array('include_custom' => '--choix--')),
    array('onChange'=>'Javascript:this.form.submit();'))
    	?>
    quand je choisi une valeur dans ma liste déroulante cela declanche le rechargement de la page avec un onchage, mon souci c'est que je n'arrive pas à gardé la valeur selectionnée dans ma liste


    Avez-vous une idée comment faire pour regler ca ??

    Merci de votre précieuse aide

  2. #2
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Par défaut
    où se trouve ta form?

    car tu pourrais stocker la valeur de l'element selectionne dans ta liste dans un champs hidden, et apres ca tu fait ton submit

    quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //dans ta liste
    onChange="'javascript: une_fonction();'"
     
    //la fonction js
    fonction une_fonction()
    {
    document.nom_from.nom_champs_hidden.value = document.nom_form.nom_liste.options[document.nom_form.nom_liste.selectedIndex].value;
     
    this.form.submit();
    }
     
    //le champs hidden
    <input type="hidden" name="nom_champs_hidden" value="">
    ou plus simplement include la liste dans ta form.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    c bon pas la peine d'ajouter un hidden il suffit juste que je remplace null par la valeur que je veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <?php echo select_tag('filters[nature_financiere]',
    			  objects_for_select(CotisationPeer::doSelect(new Criteria()),
    			  'getNatureFinanciere', 'getNatureFinanciere',$sf_params->get('filters[nature_financiere]'), array('include_custom' => '--choix--')),
    			   array('onChange'=>'Javascript:this.form.submit();'));
    			 ?>
    dans mon cas j'ai remplacé null par $sf_params->get('filters[nature_financiere]')

    merci de votre aide

    voilà c resolu

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/03/2009, 22h06
  2. Comment récupérer la valeur d'une <option> d'un <select> ?
    Par beninsky dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/02/2009, 18h36
  3. Comment garder une valeur ?
    Par Wchef dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/08/2008, 10h37
  4. Réponses: 4
    Dernier message: 12/12/2006, 08h14
  5. Réponses: 1
    Dernier message: 04/06/2006, 00h35

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