RECHERCHE DANS UNE LISTE À PARTIR D'UN CHAMP DE TEXTE

Signaler
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010
-
porgy
Messages postés
14
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
29 janvier 2017
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32839-recherche-dans-une-liste-a-partir-d-un-champ-de-texte

porgy
Messages postés
14
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
29 janvier 2017

Bonjour,
super code qui m'aide beaucoup, mais comment faire pour que cela recherche le texte contenu et pas commençant. J'aimerais qu'il reste dans la liste tous les items qui contiennent le texte donc si ca commence mais aussi si la chaine et dans un texte.
Merci
nyuuh
Messages postés
1
Date d'inscription
lundi 1 octobre 2012
Statut
Membre
Dernière intervention
18 février 2013

Salut,
L'exemple test.html ne correspond pas à la description de ce que devrait faire le code (sous firefox 18.0.2)?
J'ai appliqué le tuto à mon site mais je n'ai pas du tout ce qui est dit dans la description? J'obtiens un champ texte qui semble "déconnecté" de ma liste déroulante... Quelqu'un a une idée?
dyskol
Messages postés
2
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
31 janvier 2012

Bonjour,

J'ai la réponse à mon souci :

1er, il faut pour mon serveur convertir le .js en UTF8

Sinon marche pas du tout.

Et j'ai vu aussi ça, dans le input :

typt="text" id="texte" size="18"/

Au lieu de :

type

et un / qui à ma connaissance ne sert à rien

Encore merci pour le script
dyskol
Messages postés
2
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
31 janvier 2012

Bonjour à tous,

Merci beaucoup pour cette excellent script !

Surtout que j'en ai besoin (^_^)

Par contre j'ai un souci que je ne comprend pas, illogique.

Le script marche parfaitement en local.

Et quand je le mets en ligne, il ne marche pas ?

Je me suis donc dis que cela venait peut être d'une config au niveau du serveur.

Alors je l'ai installer sur un autre site (perso, celui où ça ne marche pas est pro) et là, ça fonctionne ! ?

J'ai envoyé un billet a l’hébergeur mais j'ai pas reçu de réponse.

Quelqu'un aurait une idée ?

D'avance merci !
hindphp
Messages postés
2
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
12 novembre 2008

j'arrive pas à le réaliser pouvez vous m'aider SVP?
jmeunier
Messages postés
86
Date d'inscription
mardi 10 septembre 2002
Statut
Membre
Dernière intervention
17 mai 2013

Pour PORGY :

remplacer

# if(!this.caseSensitive){
# if(this.allOptions[i].text.toUpperCase().indexOf(search.toUpperCase())==0)
# this.select.options[this.select.options.length]=this.allOptions[i];
# }
# else{
# if(this.allOptions[i].text.indexOf(search)==0)
# this.select.options[this.select.options.length]=this.allOptions[i];

par

# if(!this.caseSensitive){
# if(this.allOptions[i].text.toUpperCase().indexOf(search.toUpperCase())>-1)
# this.select.options[this.select.options.length]=this.allOptions[i];
# }
# else{
# if(this.allOptions[i].text.indexOf(search)>-1)
# this.select.options[this.select.options.length]=this.allOptions[i];
porgy
Messages postés
14
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
29 janvier 2017

super code mais pourrait on faire la meme chose en affichant les item qui conteinnet le texte ( aujourd'hui cela affiche que ceux qui commencent par la saisie).

de meme comment peut on passer le nom du controle si on possede deux dropdowlist dans la page.
Merci
cs_tokyo
Messages postés
6
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
4 avril 2007

bonjour,

de la même façon que l'on peut gérer la casse,
pourrait t-on immaginer gérer les accents et cédilles ?

merci si quelqu'un a une idée ?
jmeunier
Messages postés
86
Date d'inscription
mardi 10 septembre 2002
Statut
Membre
Dernière intervention
17 mai 2013

oui, oui, j'avais essayé ça avant de poster.

Il n'y a que le 2ème select qui fonctionne.
J'ai essayé de "doubler" le code avec un newSearcList2 mais j'ai du mal m'y prendre.
Je ne m'en sors pas. snif !
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

je n'ai pas essayé mais en theorie :
Avec deux select : nomSelect et nomSelect1
Et deux input : nomInput et nomInput1

var maListe=new SearchList(document.getElementById("nomSelect"),document.getElementById("nomInput"));
var maListe1=new SearchList(document.getElementById("nomSelect1"),document.getElementById("nomInput1"));

A tester...
Tenez nous au courant.
jmeunier
Messages postés
86
Date d'inscription
mardi 10 septembre 2002
Statut
Membre
Dernière intervention
17 mai 2013

Une question bête ...

Comment faire pour mettre plusieurs select de ce type dans une même page ?
jmeunier
Messages postés
86
Date d'inscription
mardi 10 septembre 2002
Statut
Membre
Dernière intervention
17 mai 2013

mettre à la place de la boucle for ... :

this.select.selectedIndex=-1;

Réponse trouvée sur fr.comp.lang.javascript
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

this.allOptions[i].selected = false; me semble être LA solution, mais si cela ne fonctionne pas, pose la question sur le forum, et si tu trouves, poste la solution ici.
jmeunier
Messages postés
86
Date d'inscription
mardi 10 septembre 2002
Statut
Membre
Dernière intervention
17 mai 2013

en fait, lorsque je fais un select dans la liste, je mets sa valeur dans la zone texte.
ex : je selectionne Belgique, la zone texte est ègale à Belgique.
Maintenent, je me positionne dans cette zone texte et je supprime la dernière lettre, ce qui donne Belgiqu.
Je voudrais que la liste du select me propose Belgique sans que ce choix sit selected.

J'ai essayé ça mais ca ne marche pas :

SearchList.prototype.MAJListe=function(){
document.getElementById("texte").style.color = "red"
var search=this.text.value;

for (i=0;i<this.allOptions.length;i++){
if (this.allOptions[i].selected == true)
{
alert(this.allOptions[i].text);
this.allOptions[i].selected = false;
alert(this.allOptions[i].selected);
}
}
Le 2ème alert est toujours égal à true ...

Merci
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

Je ne comprends pas quel est la question, vous voulez "unselect" la liste (le select) lors de la saisie dans la zone texte ?
jmeunier
Messages postés
86
Date d'inscription
mardi 10 septembre 2002
Statut
Membre
Dernière intervention
17 mai 2013

comment procéder pour enlever un "selected" précédent ?
Je m'explique :
Dans la zone text je saisie des lettres et l'application me propose les champs correspondants.
Je selectionne un choix.
Je voudrais que dès la modification de la zone text, le choix sélectionné précédemment soit dévalidé (aucun selected).

très bon code ! et je vais l'utiliser ...
Merci
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

Pas de problème. Peut être une petite erreur dans ton script pour que cela ne finctionne pas sous moz.
cs_usamike
Messages postés
5
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
10 novembre 2006

oui je confirme cela marche.
je m'étais trompé.
pardon.
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

Essais sur cette page : http://www.vacances-pyrenees.info/site-pyrenees.html
La recherche de la ville...
De chez moi cela fonctionne
cs_usamike
Messages postés
5
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
10 novembre 2006

non, ça ne fonctionne pas sous Firefox 2RC3, ni sous Mozilla 1.7.13 (windows)
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

Je ne suis pas l'auteur de cette source mais elle fonctionne parfaitement sous IE et FIREFOX, les autres je ne sais pas.
cs_usamike
Messages postés
5
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
10 novembre 2006

ça ne fonctionne que sous IE !!! zut !
cs_salooh
Messages postés
3
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
23 mai 2006

salut,
ma question c a propos une liste deroulante qui est au meme temps saisissable c-a-d on peux ajouter des champs dynamiquemant
dedeazer
Messages postés
13
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
13 janvier 2008

Bonsoir,

Désolé pour la question sur ce site qui semble intérésser personne.

J'ai trouvé ma réponse. En faite, sous access une liste déroulante modifiable à naturellement la propriété d'afficher le compte-tenu de la liste au fur et à mesure que l'on tape les lettres.

Merci quand même

Je ne regrette pas mon inscription sur ce site super par ailleurs
dedeazer
Messages postés
13
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
13 janvier 2008

Quelqu'un sait-il si on peut convertir ce code sous access ou du moins faire la même chose ?

J'aimerais pouvoir faire la même chose c'est à dire une recherche dynamique dans une liste sous access. Cela parait-il possible à quequ'un du forum ? Peut-être que cela a déjà été fait ? Dans ce cas merci de me dire où je pourrais trouver. merci d'avance pour une réponse.

Très cordialement
dedeazer
Messages postés
13
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
13 janvier 2008

Source très utile et en plus facile à mettre en place même pour un débutant comme moi.

Par contre il va me falloir du temps pour comprendre son code mais je vais apprendre beaucoup.

Encore bravo à son auteur.

Merci.
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

Je me suis permis de rajouter une option dans ton script :
Quand on selectionne une valeur dans la liste, le champ texte (input) prends la valeur (affichée) de la liste.

voici le code de la fonction :

SearchList.prototype.MAJinput=function(){

this.text.value=this.select[this.select.selectedIndex].text;

}

et sur le champ <select> l'evenement suivant :

onclick="javascript:liste.MAJinput();"

Voila, merci encore pour ce script, je vais certainement m'en servir sur un site, je te tiens au courant...
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

Super cette source, claire, facile à mettre en place et très utile en plus.
Peut-être elle me servira plus tard, je la garde sous le coude.
Merci.
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

il y a til un exemple en ligne ?
merci