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

Bibliothèques & Frameworks Discussion :

addEvent / request sur un select


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut addEvent / request sur un select
    Bonjour,

    alors voila, j'ai une page, sur lequel je souhaite générer un menu déroulant (balise <select>) en fonction d'une autre.

    J'ai donc mis un addEvent sur mon premier select, qui à chaque changement charge une nouvelle liste.

    (jusqu'ici, pas de problème, ça marche... )
    J'ai mis aussi un addEvent sur ma seconde liste. (pour afficher un un contenu via un request...)

    Or, la ça ne marche plus...pourquoi? Je surveille un élément qui n'existe pas avant ça création....(je sais pas si je me fais comprendre.... )

    Voici mon code javascript :
    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
     
    <script type="text/javascript">
     
    var F1 = function()
    	{
    	alert('valeur du type : '+this.value);
    	var rub = this.value;
    	var url = "selector.php";
        var options = {
        	update : $('N2'),
        	method : 'get',
        	data : 'rub='+rub+'&ajx=1'};
        var ajaxRequestRub = new Ajax(url, options);
        ajaxRequestRub.request();
        ajaxRequestRub.onComplete(
    		alert('ok')
        	);
    	};
     
    var F2  = function()
    	{
    	alert(this.value);
    	};
     
    window.addEvent('domready', function() {
    	$('Liste1').addEvent('change' , F1 );
    	$('Liste2').addEvent('change' , F2 );
    });
    </script>
    Mon code html...(basic....)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <div>
    	<div id="N1" style="margin:10px;float:left;width:200px;border:blue solid 1px;">
    		<select id="Liste1" name="type">
    			<option></option>
    			<option value="anim">Animaux</option>
    			<option value="auto">Auto/moto</option>
    		</select>
    	</div>
    	<div id="N2" style="margin:10px;float:left;width:200px;border:blue solid 1px;">
    	</div>
    	<br style="clear:both;">
    </div>
    <div id="content" style="margin:10px;width:420px;border:blue solid 1px;"></div>
    Puis, j'ai deux listes chargé via une requete asynchrone...
    (fichier nommé anim.html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select name="anim" id="Liste2">
    	<option></option>
    	<option value="chien">Chien</option>
    	<option value="chat">Chat</option>
    	<option value="vache">Vache</option>
    </select>
    Et ce fichier (auto.html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select name="auto" id="Liste2">
    	<option></option>
    	<option value="Fiat">Fiat</option>
    	<option value="Renault">Renault</option>
    	<option value="Peugeot">Peugeot</option>
    </select>
    Pour la partie PHP, un script de selection de la liste...( selector.php )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?
    $rub = $_GET['rub'];
    include('./pg/'.$rub.'.html');
    ?>
    et pour le contenu final...bah peux importe un contenu basic qu'on charge en asychrone.

    Bon, je dois avouer que je débute en MooTools...que les choix que j'ai fais peuvent être remis en question...(le fait de charger en asychrone la seconde liste....A savoir qu'il y aura à peut prêt 14 rubriques puis entre 8 à 16 sous sélections par rubrique...)

    Avec le temps, ces listes peuvent encore augmenter...donc pour éviter le chargement de data inutiles, je me suis tourné vers de l'asynchrone.

    En tout cas, je suis ouvert à toute proposition d'optimisation.

    Merci par avance,

    Loic

    PS : pour le moment, aux changements de ma deuxième liste j'ai juste mis une alerte. Mais comme elle s'affiche pas, pas la peine de faire un request pour afficher du contenu...

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut ...une petite aide?
    Personne pour m'aider?

    Si je me suis mal fais comprendre, ou si vous avez besoin de clarifier un point y a pas de problème...

    En attendant, je continue de pleurer

Discussions similaires

  1. Question sur un SELECT...... AS....
    Par geant63 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 15/09/2009, 17h17
  2. [débutant] Tri sur un select
    Par moog dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 10/06/2005, 11h06
  3. Erreur ORA-01555 sur un select
    Par LRI dans le forum Oracle
    Réponses: 2
    Dernier message: 13/05/2005, 10h42
  4. Faire apparaître un champ texte en cliquant sur un select
    Par yoyot dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/03/2005, 16h16
  5. ajout de colonnes sur une selection
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/08/2004, 17h44

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