begin process at 2012 02 14 09:01:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Compter le nombre de données dans un select


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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 jquery nombre d'options d'un select [ par Raul duke ] bonjour a tous, je souhaite modifier un peu jquery.ligthswitch.js comme le sujet l'indique, je souhaiterais récupérer le nombres d'options contenues 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.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales