Accueil > Forum > > > > Compter le nombre de données dans un select
Compter le nombre de données dans un select
mardi 14 août 2007 à 09:22:55 |
Compter le nombre de données dans un select

nougitch
|
Bonjour,
J'aimerais savoir s'il est possible de connaître le nombre de données contenues dans un select (le nombre de choix proposé à l'utilisateur), ce de manière dynamique.
Merci par avance.
|
|
mardi 14 août 2007 à 10:51:26 |
Re : Compter le nombre de données dans un select

the_wwt
|
Bonjour, Tu récupères ton objet select via son id, puis tu lit l'attributs length du tableau des options: alert( "Il y a " + document.getElementById("monSelect").options.length + " options ;-)") ;
Cdlt, Pierrick
|
|
mardi 14 août 2007 à 12:52:38 |
Re : Compter le nombre de données dans un select

nougitch
|
Salut Pierrick,
Merci pour ta réponse. Seulement, j'utilise deux select qui se vide et remplisse dynamiquement.
Je te glisse mon code, peux-tu me dire stp comment faire un sorte que le "12" et le "0" (respectivement, le nombre de données dans la liste de gauche et de droite) changent dès que l'on modifie l'une des deux listes.
Merci beaucoup par avance.
<HTML> <HEAD> <TITLE>Select</TITLE> <script type="text/javascript"> //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function retirer() //~~ retirer de l'autre select ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { if ( sel3.selectedIndex >=0 ) { saisie.value=sel3[sel3.selectedIndex].text; {for (var n=sel3.selectedIndex;n<sel3.length-1;n++) { sel3[n].text=sel3[n+1].text; } sel3.length--; } ajout(4); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function ajouter() //~~ transférer vers autre select ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { if ( sel.selectedIndex >=0 ) { sel3.length++; sel3[sel3.length-1].text=sel[sel.selectedIndex].text; supprime(); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function choix(liste) //~~ choix d'une ligne ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { saisie.value=liste[liste.selectedIndex].text; var i=liste.selectedIndex; sel.selectedIndex=i; sel2.selectedIndex=i; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function supprime() //~~ suppression d'une ligne ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { if (sel.selectedIndex>=0) {for (var n=sel.selectedIndex;n<sel.length-1;n++) { sel[n].text=sel[n+1].text; } sel.length--; sel2.length--; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function deplace(sens) //~~ déplacer une ligne ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { if (sel.selectedIndex+sens>=0 && sel.selectedIndex+sens<sel.length) { var t=sel[sel.selectedIndex+sens].text; sel[sel.selectedIndex+sens].text=sel[sel.selectedIndex].text; sel[sel.selectedIndex].text=t; sel.selectedIndex=sel.selectedIndex+sens; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function ajout(appel) //~~ ajout d'un ligne ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { var adr; switch (appel) { case 0: //__ en tête __ adr=0; break; case 1: //__ avant __ if (sel.selectedIndex<0) return; adr=sel.selectedIndex; break; case 2: //__ après __ if (sel.selectedIndex<0) return; adr=sel.selectedIndex+1; break; case 3: //__ en fin __ adr=sel.length; break; case 4: //__ par ordre alphabétique __ position(saisie.value); adr=sel.selectedIndex; break; } sel.length++; for (var n=sel.length-1;n>adr;n--) { sel[n].text=sel[n-1].text; } sel[adr].text=saisie.value; sel.selectedIndex=adr; sel2.length++; sel2[sel2.length-1].text=sel2.length; sel2.selectedIndex=adr; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function chgt(avant,apres,zone) //~~ remplacer caractères génants ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { var reg=new RegExp(avant,"g"); return zone.replace(reg,apres); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function position(rch) //~~ rechercher ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { var tmp=rch.toLowerCase(); tmp=chgt("[àäâ]","a",tmp); // les accents posent tmp=chgt("[éèêë]","e",tmp); // un problème de tmp=chgt("[ïî]","i",tmp); // classement : en ASCII tmp=chgt("[ôö]","o",tmp); // ils sont "après" la lettre tmp=chgt("[ùûü]","u",tmp); // "z". le moins et l'espace tmp=chgt("[- ]","",tmp); // sont ignorés. var pos; for (var n=0;n<sel.length;n++) { pos=sel[n].text.toLowerCase(); pos=chgt("[àäâ]","a",pos); pos=chgt("[éèêë]","e",pos); pos=chgt("[ïî]","i",pos); pos=chgt("[ôö]","o",pos); pos=chgt("[ùûü]","u",pos); pos=chgt("[- ]","",pos); if ( pos >= tmp ) { sel.selectedIndex=n; n=sel.length; } } } </script> </HEAD> <BODY> <form name="test"> <input type="hidden" name="saisie" id="saisie"> <center>Rechercher <input type="text" name="rech" onkeyup="position(this.value);"><br><br> <table> <tr> <td> <select name="sel" id="sel" onclick="choix(this);" onchange="choix(this);" size="10" style="width: 180px;"> <option>Société Générale</option> <option>BNP Paribs</option> <option>Crédit Agricole</option> <option>Crédit Lyonnais</option> <option>Banque Populaire</option> <option>Caisse d'Epargne</option> <option>Barclays</option> <option>ABN Amro</option> <option>JP Morgan</option> <option>Goldman Sachs</option> <option>Merril Lynch</option> <option>Morgan Stanley</option> </select> <br>12 donnée(s) <script type="text/javascript"> var sel=document.getElementById("sel"); var saisie=document.getElementById("saisie"); </script> </select> </td> <td> <input type="button" value=">>" onclick="ajouter();"><br><br> <input type="button" value="<<" onclick="retirer();"> </td> <td> <select name="sel3" id="sel3" size="10" style="width: 180px;"></select> <br>0 donnée(s) <SCRIPT LANGUAGE="JavaScript"> var sel3=document.getElementById("sel3"); </SCRIPT> </td> </tr> </table> </form> <SCRIPT LANGUAGE="JavaScript"> alert( "Il y a " + document.getElementById("sel").options.length + " options ;-)") ; </SCRIPT> </center> </BODY> </HTML>
|
|
mardi 14 août 2007 à 15:54:27 |
Re : Compter le nombre de données dans un select

the_wwt
|
Salut, disons que ton code n'est pas top top... En pus je ne me prononce pas sous sa compatibilité avec IE. En effet avec IE pour ajouter des options dynamiquement il faut créer un objet Option. sel.options[ i ] = new Option("valeur", "text", false, false);
Après pour le nombre de valeurs, a chaque fois tu ajoute ou supprime tu met à jours un champs de type span ou div.
<span id="sel3Length">0</span> données.
function ajouter(){ ...... ..... document.getElementById("sel3Length").innerHTML = sel3.options.length; }
Cdlt, bon courage, PS: tu peux trouver des dizaines d'exemples ici ou ailleurs. Pierrick
|
|
Cette discussion est classée dans : nombre, données, select, compter
Répondre à ce message
Sujets en rapport avec ce message
Nombre de Lignes d'un SELECT [ par DeathAngel ]
Bonjour à tous.J'ai une question toute con à vous poser : Y a-t-il un moyen de limiter le nombre de lignes affichées dans un ?Exemple : J'ai 250 lign
Comment compter le Nombre de telechargement ? [ par yannickty ]
J ai savoir si un script existe pour faire apparaitre , comme on le voit sur les sites , le nombre de telechargement d un fichier.merci de votre répon
Afficher le nombre de jour d'un mois en fonction du mois selectionne [ par Monico9385 ]
Bonjour tout le monde, alors voila mon probleme: j'ai 2 select, un contenant les mois numerotés de 01 à 12, et un autre contenant les jours numéroté
Liste déroulante et onChange [ par sebalex ]
Bonjour à tous,J'ai dans le même formulaire un Select reprenant les données d'une BD ainsi que plusieurs Input Type Texte. Je souhaite que lorsque je
compter le nombre de mot d'une ligne [ par aimie ]
Bonjour !!je voudrais savoir comment accéder à une ligne d'un textarea afin de compter le nombre de mot.En effet, je parviens à compter le nombre de m
Select dynamique [ par mandaillou ]
SalutJ'ai un champ select qui est rempli dynamiquement.Je voudrais que le nombre de lignes qu'il affiche (attribut size) corresponde au nombre d'items
Compter le nombre de fichiers dans un repertoire et ses sous-repertoires [ par oclock ]
Bonjour à tous, Je voudrais que vous m'aidiez, la fonction ci-dessous me permet de compter le nombre de fichiers présents dans le repertoire de nom "
comment afficher dynamiquement un nombre de select (en fonction d'une option choisie par un autre select) [ par dragonsky51 ]
Bonjour,Alors j'ai un petit soucis .... je vais essayer d'etre le plus clair possible :)Admettons que l'on veuille créer une bataille entre 2 clans qu
Compter le nombre de caractère [ par Titrax ]
Salut quelqu'un aurait la méthode pour compter le nombre de caractère (en temps reel) que l'on met dans un textarea. MErci d'avance.
Compter le nombre de changement d'un checkbox [ par Ekik ]
Bonjour, Voila, je dois faire un script qui compte le nombre de changements d'un checkbox et l'envoyer via un champ caché. Pour le moment j'ai ceci :
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|