Select dans une liste en fonction du contenu d'un INPUT

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Select dans une liste en fonction du contenu d'un INPUT

    Bonjour,

    J'essaie de développer un petit composant, dans l'ensemble ça marche pas mal, mais je bute sur un petit souci.

    J'ai une liste déroulante dont les Values des éléments sont:1, 2, 3 ...
    J'ai un INPUT text qui reçois une valeur numérique (1, 2, 3 ...)

    J'ai besoin que la valeur présente dans l'INPUT sélectionne l'élément de la liste qui possède la même valeur en tant que Value

    J'ai fait ce petit morceau de code (Que je commente) que j'ai inséré dans le PHP qui contient ma liste.

    Code HTML:
    <?php
    echo "<br/><br/> <strong>Le champ 'CDP si différent' doit changer en fonction de la valeur contenu dans 'ID du CDP' <br/>(Valeurs : 1, 2, 3, 5, 6, 7 ou 8)</strong>" ;
    ?>
    
    <?php
    echo "<br/><br/>";
    ?>
    
    <script type="text/javascript">
    // Créer la liste déroulante des CDP
    	jQuery('#idcdp').change(function () {
    	var ListeCDPJSON = <?php echo json_encode($tableauCDP, JSON_PRETTY_PRINT); ?>; // $tableauCDP existe, je l'utilise ailleurs dans mon fichier
    	var nbrdelignes = Object.keys(ListeCDPJSON).length;
    	  		      
    	// Vider les INPUT de ce qu'elle contiennent le cas échéant.
    	//jQuery('#jform_cdp').empty(); // Ne vide pas l'INPUT ???
    	jQuery('#liste_cdp').val(""); // Obligé de faire cela pour vider l'INPUT !!!
    	   
    	// Faire correspondre l'ID de l'INPUT et l'ID de l'élément du tableau
    	for (x = 1; x <= nbrdelignes; x++) { 
    		if (document.getElementById('idcdp').value == ListeCDPJSON[x]['id']) {			
    			// Créer la variable qui affichera le prénom correspondant à l'ID
    			var prenom = ListeCDPJSON[x]['prenom'];
    			var idprenom = ListeCDPJSON[x]['id'];
    			}
    			
    			// Afficher les valeurs dans les INPUT
    			
    			// Doit agir sur la liste 'CDP si différent' en haut du formulaire
    			// jQuery('#jform_cdp').val(idprenom); // Id de la liste dans fichier PHP du composant
    			
    			// INPUTS pour les tests			
    			jQuery('#ID_cdp').val(idprenom);
    			jQuery('#name_cdp').val(prenom);
    			jQuery('#liste_cdp').val(idprenom);			
    		}   
    	})
    	;
    </script>
    <!-- ***************** TESTS *********************** -->
    
    <?php echo "<br/><br/> ID du CDP (en provenance du tableau JSON): "; ?> <input type="text" id="ID_cdp" readonly="readonly" >
    <?php echo "<br/><br/> Nom du CDP (en provenance du tableau JSON): "; ?> <input type="text" id="name_cdp" readonly="readonly" >
    <?php echo "<br/><br/> "; ?>
    <?php echo "<strong>'CDP si différent (Pour TEST) :'</strong> reçoit la même valeur que l'INPUT <strong>'ID du CDP (en provenance du tableau JSON)'</strong> ce qui doit faire la 'Value' du Select de cette liste<br/>
    Cette liste doit donc afficher la même chose que <strong>'Nom du CDP (en provenance du tableau JSON)'</strong> <br/><br/>"; ?>
    <label for='nomdescdp[]'>CDP si différent (Pour TEST) : </label>
    <select id="liste_cdp" name="nomdescdp[]">
        <option value="1">Pierre Amram</option>
        <option value="2">Alain Boiset</option>
        <option value="3">Sylvain Michel</option>
        <option value="5">Julien Labbe</option>
        <option value="6">Eric Test</option>
        <option value="7">cdp-test</option>
    	<option value="8">Laetitia</option>
    </select>
    Ce code fonctionne en tant que fichier PHP individuel, mais dès que je le recopie dans le PHP du fichier Joomla qui doit l'accueillir, ma liste ne change plus.

    Quelqu'un saurait-il comment je peux faire que le Select de ma liste soit "automatique" en fonction de la valeur de l'INPUT.
    Peut-être y-a-t-il plus simple que ce que je fais ?

    Cordialement.

    Eric

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X