Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1981 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Liste dynamique avec check box

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Liste dynamique avec check box

n°983781
geor
Posté le 16-02-2005 à 17:19:21  profilanswer
 

Liste dynamique avec check box
Bonjour, j'ai une base mysql dans laquel je voudrai faire quelques modif...
Je voudrai afficher la liste des éléments de cette table (deux champ N° et Libellé) avec des cases à cocher à coté de chacun.
Biensur, le but du jeu est que l'utilisateur coche se qui le concerne et appui sur envoi ce qui... (J'ai fait la suite...)
 
Don voila... pour l'instant, j'ai fait une liste déroulante avec une selection, mais l'inconvénient c'est qu'on peut en sélectionner qu'un seul...
 
Merci bcp pour votre aide.

mood
Publicité
Posté le 16-02-2005 à 17:19:21  profilanswer
 

n°983783
skeye
Posté le 16-02-2005 à 17:21:08  profilanswer
 

t'es dans la bonne cat' cette fois, mais il faut toujours que tu ailles lire la doc de la balise <input>, à part ça aucune difficulté particulière.
 
http://forum.hardware.fr/hardwaref [...] 4521-1.htm


Message édité par skeye le 16-02-2005 à 17:21:22

---------------
Can't buy what I want because it's free -
n°983793
Bidem
Posté le 16-02-2005 à 17:29:15  profilanswer
 

J'ai l'impression que tu utilises un <select> si c'est le cas, l'attribut "multiple" est fait pour toi.

n°984443
geor
Posté le 17-02-2005 à 08:38:00  profilanswer
 

bah le mieux serais davoir une liste déroulante d'un coté avec tout ce qu'il y aurait dans la table, et un bouton sélectionner qui permetterait de faire basculer la selection dans la seconde liste plus à droite. On peut voir cela sur certain site...
Merci pour votre aide.
 
 (La solution check box n'est plus valide car je me retrouve avec une liste déroulante (celle de gauche) contenant 372 occurences différente... (soit 372 check box...) donc je doit faire autrement d'où la solution liste déroulante avec basculement d'une occurence via bouton envoyer puis bouton finale "valider toute la selection".

n°984455
esrevni
à contrario
Posté le 17-02-2005 à 09:08:08  profilanswer
 

un peu comme ça
 
http://www.anpe.fr/consultationoff [...] riteres.do
 
(ne voyez aucune mauvaise pensée dans le choix du lien :D)

n°984457
geor
Posté le 17-02-2005 à 09:10:53  profilanswer
 

Exactement... ouhai, c'est ca... S'il vous plait, help me... ;)

n°984461
skeye
Posté le 17-02-2005 à 09:15:00  profilanswer
 

geor a écrit :

Exactement... ouhai, c'est ca... S'il vous plait, help me... ;)


Regarde le code de la fonction javascript deplacerZoneGeo() dans la source de la page...;)


---------------
Can't buy what I want because it's free -
n°984466
esrevni
à contrario
Posté le 17-02-2005 à 09:18:34  profilanswer
 

... qui ne se trouve d'ailleurs pas dans la page, mais dans "criteres_recherche.htm", qui est en fait la page qui stocke les js  :pt1cable: bon en plus c'est tout en tableau et ça m'a jamais permis de trouver un job :sarcastic:

n°984467
FlorentG
Unité de Masse
Posté le 17-02-2005 à 09:18:47  profilanswer
 

Ca repose sur du JS, c'est pas accessible :D

n°984473
geor
Posté le 17-02-2005 à 09:24:31  profilanswer
 

ouhai, ... Bah il va falloir réussir à développer ca, ca va pas être de la tarte...
 Je débute en java script, alors aïe aïe aïe...

mood
Publicité
Posté le 17-02-2005 à 09:24:31  profilanswer
 

n°984485
geor
Posté le 17-02-2005 à 09:36:03  profilanswer
 

j'ai bien ma liste d'un coté, et une liste vide de l'autre... mais comment réaliser l'envoy de l'un à l'autre via un bouton qui appel une fonction que je ne connais même pas??? Haaaaaaa... prise de tête!!!

n°984487
esrevni
à contrario
Posté le 17-02-2005 à 09:37:23  profilanswer
 

trouve la fonction d'abord (je t'ai dit où elle se trouvait)

n°984493
geor
Posté le 17-02-2005 à 09:42:46  profilanswer
 

je trouve pas la page criteres_recherche.htm ... lien please.

n°984502
geor
Posté le 17-02-2005 à 09:47:53  profilanswer
 

a si c bon... avec du mal...

n°984507
esrevni
à contrario
Posté le 17-02-2005 à 09:49:21  profilanswer
 

bon bah edit alors


Message édité par esrevni le 17-02-2005 à 09:49:39
n°984622
geor
Posté le 17-02-2005 à 10:56:49  profilanswer
 

j'abandonne ca, c'est trop compliqué...
si quelqu'un à un lien sur la même chose en plu simple, j'suis preneur... ;)

n°984888
geor
Posté le 17-02-2005 à 14:26:04  profilanswer
 

up!...

n°984889
skeye
Posté le 17-02-2005 à 14:26:41  profilanswer
 

à part le javascript il y a pas des masses de solutions pour faire ce que tu veux, là...[:skeye]


---------------
Can't buy what I want because it's free -
n°984909
geor
Posté le 17-02-2005 à 14:35:05  profilanswer
 

quel méthode option me permet d'enlever une occurence d'une liste déroulante avec reclassement dans cette liste?

n°984939
esrevni
à contrario
Posté le 17-02-2005 à 14:51:34  profilanswer
 

en fait, à mon avis, tu dois reconstruire ton <select> à chaque clic sur le bouton (ça, c'est possible), mais tu peux aussi plus simplement vérifier si l'option choisi n'est pas déja dans la selection...

n°985120
LeMicky
Posté le 17-02-2005 à 17:08:24  profilanswer
 

oui, le plus simple c'est de faire un select non multiple et de faire comme un interrupteur : si quand tu sélectionnes dans son select la valeur est déjà à droite, tu la vires d'à droite, sinon tu l'ajoutes.
Alors ça c'est super facile à faire :) , j'aurais même pu te le donner mais je ne l'ai pas sous la main.

n°988112
geor
Posté le 21-02-2005 à 10:27:10  profilanswer
 

ok. Merci, ca, s'est fait... Reste à enlever l'espace blanc dans la liste d'origine et reclasser le tout... (en javascript, bien sûr...)

n°989573
geor
Posté le 22-02-2005 à 10:37:34  profilanswer
 

Arg... Quelqu'un sait il comment faire mon reclassement?
 
<script language="JavaScript">
var i=-1;
var k=-1;
function fctchangecote()
{
 // document.form2.select1.option.value;
 var contrax = document.form1.select1TypePers.options.selectedIndex;
 var ValInter = document.form1.select1TypePers.options[contrax].text;
 if(ValInter != ''){
  i++;
  var op = new Option(ValInter,ValInter);
   
  document.form1.select2TypePers.options[i] = op;
  var contrax = document.form1.select1TypePers.options.selectedIndex;
  document.form1.select1TypePers.options[contrax].text= '';
  var h = concat ((h)(-;-));
  h = concat ((h)(contrax));
 }
 return false;
}
function fctchangecote2()
{
 var contrax = document.form1.select1Entite.options.selectedIndex;
 var ValInter = document.form1.select1Entite.options[contrax].text;
 if(ValInter != ''){
  k++;
  var op = new Option(ValInter,ValInter);
   
  document.form1.select2Entite.options[k] = op;
  var contrax = document.form1.select1Entite.options.selectedIndex;
  document.form1.select1Entite.options[contrax].text= '';
 }
 return false;
}
function TransmiTypePers()
{
var TransmiTypePers = document.form1.select2TypePers.options.values;
}
 
 
</script>
 
<?php  
  // connection à la base de donnée QuiFaitQuoi via la page de connection : connectionmysql.php
  include "connectionmysql.php";
?>
<html>
<head>
<title>AjoutDemande</title>
</head>
<body>
 
<form name="form1" method="get" action="./ResultatInsertNewDemande.php" onSubmit="TransmiTypePers()">
<table width="100%" border="0">
  <tr>  
    <td width="32%"></td>
    <td width="44%"></td>
    <td width="24%"></td>
  </tr>
  <tr>  
    <td>Nom de la demande:</td>
    <td>
        <input type="text" name="TxtNomDemande">
     </td>
      <td>&nbsp;</td>
  </tr>
  <tr>  
    <td>Remarque</td>
    <td>
        <input type="text" name="TxtRemarque">
     </td>
      <td>&nbsp;</td>
  </tr>
  <tr>  
    <td>Pour quel type de pers cette demande est-elle?</td>
    <td>
        <select name="select1TypePers" multiple>
          <?php
          $sql = "SELECT TypePers FROM Personne";  
    $ReqLog = mysql_query($sql);
    while ($resultat = mysql_fetch_row($ReqLog)) {  
      echo '<option value="'.$resultat[0].'">'.$resultat[0].'</option>';  
    }  
   ?>
        </select>
        <input type="button" name="Submit2" value="Basculer en zone de séléction" onClick="fctchangecote()">
      </td>
    <td>
        <select name="select2TypePers" multiple>
        </select>
      </td>
  </tr>
  <tr>  
    <td>Pour kel entit&eacute;e?</td>
    <td>
        <select name="select1Entite" multiple>
          <?php
          $sql = "SELECT NomEntité FROM entite";  
    $ReqLog = mysql_query($sql);
    while ($resultat = mysql_fetch_row($ReqLog)) {  
      echo '<option value="'.$resultat[0].'">'.$resultat[0].'</option>';  
    }  
   ?>
        </select>
        <input type="button" name="Submit22" value="Basculer en zone de séléction" onClick="fctchangecote2()">
      </td>
    <td>
        <select name="select2Entite" multiple>
        </select>
     </td>
  </tr>
  <tr>  
    <td colspan="3">&nbsp; </td>
  </tr>
</table>
 
 
  <div align="center">  
    <input type="submit" name="Submit" value="Valider">
  </div>
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
  Merci pour tt conseil...

n°989610
esrevni
à contrario
Posté le 22-02-2005 à 11:10:44  profilanswer
 

[quote=989573,23,0,215611]Arg... Quelqu'un sait il comment faire mon reclassement?
 
[/quote]
 
ca y est, tu t'es décidé à arrêter l'informatique ?
 
 :whistle:  
 
bon ok je sors
 

n°989613
geor
Posté le 22-02-2005 à 11:14:33  profilanswer
 

nan, mais j'ai juste besoin qu'on m'aide, qu'on m'indique ou trouver les solutions, je suis pas quelqu'un qui demande les solutions, mais qui veux apprendre...

n°989626
LeMicky
Posté le 22-02-2005 à 11:25:12  profilanswer
 

Si j'ai le temps, je te ferai la solution.
Déjà pour ajouter fait plutôt :
var op = new Option(ValInter,ValInter);  
document.form1.select2Entite.options[document.form1.select2Entite.options.length] = op;
comme ça tu n'as pas à tenir à jour le nombre de ligne dans ton select.

n°989636
geor
Posté le 22-02-2005 à 11:39:20  profilanswer
 

Merci beaucoup de ton aide.

n°989644
geor
Posté le 22-02-2005 à 11:46:06  profilanswer
 

inconvénients, je peux prendre plusieur fois la même occurence de la 1ère liste et don avoir des doublons dans la secondes...
 ce que je voudrai, c'est qu'en fait, lorseque j'ai choisit une option de la liste1, il disparaisse de celle ci pour se retrouver dans la 2ème.

n°989671
LeMicky
Posté le 22-02-2005 à 12:10:49  profilanswer
 

Ou fait comme je t'avais dit: un système type interupteur, si déjà dans liste2 tu supprimes de liste2, sinon tu ajoutes dans liste2.

n°989732
LeMicky
Posté le 22-02-2005 à 13:21:07  profilanswer
 

Bon allez, voici comment faire :
 
<script>
function rempListe()
{
  obj1=document.forms[0].liste1;
  obj2=document.forms[0].liste2;
  val=obj1.options[obj1.selectedIndex].value;
  bool=true;
  index=0;
  for(i=0;i<obj2.options.length;i++)
  {
      if(obj2.options[i].value==val)
      {
          bool=false;
          index=i;
          break;
      } else if(obj2.options[i].value<val)
      {
        index=i+1;
      }
  }
  if(bool)
  {
    for(i=obj2.options.length;i>index;i--)
    {
  //      obj2.options[i]=obj2.options[i-1];
        obj2.options[i]=new Option(obj2.options[i-1].value,obj2.options[i-1].text);
    }
    obj2.options[index]=new Option(val,val);
  } else
  {
      obj2.options[index]=null;
  }
}
</script>
</head>
<body bgcolor="#FFFFFF">
 
<hr />
<form>
<table><tr><td>
<select name="liste1" id="liste1" onchange="rempListe();" size=10>
<option value="abcdef">abcdef</option>
<option value="bcdef">bcdef</option>
<option value="cdef">cdef</option>
<option value="def">def</option>
<option value="ef">ef</option>
<option value="f">f</option></select>
</td><td width=20>&nbsp;</td><td>
<select size=10 mutiple name="liste2" id="liste2"></select></td></tr></table>
</form>
 
</body>
 
j'ai testé (je viens de l'écrire :) ) ça fonctionne très bien.
Dis moi si tu t'en sors.

n°989736
LeMicky
Posté le 22-02-2005 à 13:22:45  profilanswer
 

j'ai mis aucun commentaire... si tu ne comprends pas ce qui est fait, dis le moi.

n°989772
geor
Posté le 22-02-2005 à 13:44:35  profilanswer
 

a si, bien vu... comment à tu fais pour pondre ca???
fallait y pensser! Chapeau bas l'ami...  :jap:  

n°989826
LeMicky
Posté le 22-02-2005 à 14:27:12  profilanswer
 

lol!!
comment j'ai fait,alors... j'ai pris mes petits doigts agiles et j'ai tapé sur mon clavier lol!

n°989874
geor
Posté le 22-02-2005 à 15:11:08  profilanswer
 

bien vu tes doigts ;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Liste dynamique avec check box

 

Sujets relatifs
Liste dynamique avec check boxProblème de Procedure avec liste chainée et fichier
Votre avis sur mon emploi du temps dynamique et sa navigation.Problème texte dynamique
[php]recuperation des elements d'une liste multipleTri d'une liste avec un foncteur
Faire remonter un menu dynamique verticalinversion de liste chaine
Plus de sujets relatifs à : Liste dynamique avec check box


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR