Liste dynamique avec check box - HTML/CSS - Programmation
Marsh Posté le 16-02-2005 à 17:21:08
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
Marsh Posté le 16-02-2005 à 17:29:15
J'ai l'impression que tu utilises un <select> si c'est le cas, l'attribut "multiple" est fait pour toi.
Marsh Posté le 17-02-2005 à 08:38:00
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".
Marsh Posté le 17-02-2005 à 09:08:08
un peu comme ça
http://www.anpe.fr/consultationoff [...] riteres.do
(ne voyez aucune mauvaise pensée dans le choix du lien )
Marsh Posté le 17-02-2005 à 09:10:53
Exactement... ouhai, c'est ca... S'il vous plait, help me...
Marsh Posté le 17-02-2005 à 09:15:00
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...
Marsh Posté le 17-02-2005 à 09:18:34
... 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 bon en plus c'est tout en tableau et ça m'a jamais permis de trouver un job
Marsh Posté le 17-02-2005 à 09:24:31
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...
Marsh Posté le 17-02-2005 à 09:36:03
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!!!
Marsh Posté le 17-02-2005 à 09:37:23
trouve la fonction d'abord (je t'ai dit où elle se trouvait)
Marsh Posté le 17-02-2005 à 09:42:46
je trouve pas la page criteres_recherche.htm ... lien please.
Marsh Posté le 17-02-2005 à 09:49:21
bon bah edit alors
Marsh Posté le 17-02-2005 à 10:56:49
j'abandonne ca, c'est trop compliqué...
si quelqu'un à un lien sur la même chose en plu simple, j'suis preneur...
Marsh Posté le 17-02-2005 à 14:26:41
à part le javascript il y a pas des masses de solutions pour faire ce que tu veux, là...
Marsh Posté le 17-02-2005 à 14:35:05
quel méthode option me permet d'enlever une occurence d'une liste déroulante avec reclassement dans cette liste?
Marsh Posté le 17-02-2005 à 14:51:34
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...
Marsh Posté le 17-02-2005 à 17:08:24
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.
Marsh Posté le 21-02-2005 à 10:27:10
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...)
Marsh Posté le 22-02-2005 à 10:37:34
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> </td>
</tr>
<tr>
<td>Remarque</td>
<td>
<input type="text" name="TxtRemarque">
</td>
<td> </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é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"> </td>
</tr>
</table>
<div align="center">
<input type="submit" name="Submit" value="Valider">
</div>
</form>
<p> </p>
<p> </p>
</body>
</html>
Merci pour tt conseil...
Marsh Posté le 22-02-2005 à 11:10:44
[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 ?
bon ok je sors
Marsh Posté le 22-02-2005 à 11:14:33
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...
Marsh Posté le 22-02-2005 à 11:25:12
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.
Marsh Posté le 22-02-2005 à 11:46:06
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.
Marsh Posté le 22-02-2005 à 12:10:49
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.
Marsh Posté le 22-02-2005 à 13:21:07
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> </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.
Marsh Posté le 22-02-2005 à 13:22:45
j'ai mis aucun commentaire... si tu ne comprends pas ce qui est fait, dis le moi.
Marsh Posté le 22-02-2005 à 13:44:35
a si, bien vu... comment à tu fais pour pondre ca???
fallait y pensser! Chapeau bas l'ami...
Marsh Posté le 22-02-2005 à 14:27:12
lol!!
comment j'ai fait,alors... j'ai pris mes petits doigts agiles et j'ai tapé sur mon clavier lol!
Marsh Posté le 16-02-2005 à 17:19:21
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.