combobox saisissable

Le
Pif
Bonjour,

quelqu'un peut-il me conseiller un composant sympa qui permette
d'afficher une liste déroulante et de saisir un nouvel élément si
l'utilisateur n'y trouve pas son bonheur ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal
Le #20409601
Pif a écrit :
Bonjour,



Bonjour,

quelqu'un peut-il me conseiller un composant sympa qui permette
d'afficher une liste déroulante et de saisir un nouvel élément si
l'utilisateur n'y trouve pas son bonheur ?



Un composant, je sais pas. Il y a tellement de bibliothèques JS en tout
genre maintenant, mais souvent monstrueuses pour faire ... pas grand
chose, je trouve.

Par contre, je peux donner un tuyau à compléter soi-même pour l'ada pter.
Il s'agit d'un vieux code que j'avais mis en place pour un projet.

L'extrait du HTML :

<code>
<select name="lieu_id_type" onchange="changer_type_lieu(this)">
<!-- loop:lieu_id_type -->
<option value="{$id}" {$choix}>{$label}</option>
<!-- /loop -->
</select>
<input type="text" name="lieu_nouveau_type" value="{$lieu_nouveau_t ype}"
class="{$lieu_style_nouveau_type}" />
</code>

Le script JS qui va avec :

<code>
function changer_type_lieu( elem ) {
var champ = elem.form.lieu_nouveau_type;
if( elem.value == "0" ) {
champ.className = "champ_visible";
champ.focus();
} else {
champ.className = "champ_invisible";
champ.value = "";
}
}
</code>

Petite explication pour le HTML : je travaillais avec des templates PHP
maison, donc les noms entre accolades représentent des valeurs à
remplacer et le pseudo commentaire "loop" une boucle de valeurs. Ces
deux types d'éléments étaient générés par le script côté serveur.
Sans templates, il suffit de mettre les valeurs en dur, ça ne change
rien au comportement JS.

Autre précision, le nom de la classe de style correspondait à :
input.champ_invisible { visibility: hidden; }
input.champ_visible { visibility: visible; }


Cordialement,
Pascal
Publicité
Poster une réponse
Anonyme