Accueil > Forum > > > > lier une liste déroulante à une liste de checkbox
lier une liste déroulante à une liste de checkbox
jeudi 13 août 2009 à 10:27:34 |
lier une liste déroulante à une liste de checkbox

nina599
|
Bonjour,
Après avoir chercher longtemps chez notre ami google sans trouver de piste je remets entre vos mains mon soucis espérant que quelqu'un y jette un coup d'oeil et me donne une solution.
j'ai crée une liste déroulante avec différentes valeurs, j'obtiens une liste de checkbox differentes pour chaque valeur. J'ai rajouté une fonction javascript qui compte le nombre de cases cochées. et le mets dans un champ texte dont la valeur sera stocké dans la base. Jusque là ça marche.
Mais le souci c'est quand je mets tt ca dans mon application.Quand je change de valeur dans la liste déroulante et puis je décide de retourner vers la liste de checkbox où j'ai dejà coché des cases. je ne trouve rien.Toutes les cases sont à nouveau décoché. Ce qui normal parce que dans le code je lui demande de ramener la mm liste de checkbox que celle du début. Mais ce que je veux c'est qu'il garde les cases que j'ai cochés visibles. Meme après la sauvgarde du formulaire ou le raffraichissement de la page. (on saura qu'on a coché deux cases par exemple mais on saura pas lesquelles).voilà mon code:
Code Javascript :
<script>
function selectbasic(option)
{
switch(option.options[option.selectedIndex].value){
case "1":document.getElementById('div-cause').innerHTML = '<input name="text_qte1" type="checkbox" onClick="inc_decr1(this.checked);"/>un</br><input name="text_qte" type="checkbox" onClick="inc_decr1(this.checked);"/>deux</br><input name="text_qte" type="checkbox" onClick="inc_decr1(this.checked);" />trois</br><input name="text_qte" type="checkbox" onClick="inc_decr1(this.checked);" />quatre</br><input name="text_qte" type="checkbox" onClick="inc_decr1(this.checked);" />cinq</br><input type="text" id="pertinence" name="pertinence" size="50"value="" /> ';
break;
case "2":document.getElementById('div-cause').innerHTML = '<input name="text_qte" type="checkbox" onClick="inc_decr2(this.checked);"/>1</br><input name="text_qte" type="checkbox" onClick="inc_decr2(this.checked);"/>2</br><input name="text_qte" type="checkbox" onClick="inc_decr2(this.checked);" />3</br> <input type="text" id="pertinence" name="pertinence" size="50"value="" /> ';
break;
default:document.getElementById('div-cause').innerHTML = '';break;
}
}
var compteur1 = 0;
var compteur2 = 0;
function inc_decr1(val_input) {
if (val_input) {
compteur1++;
}else{
compteur1--;
}
if (compteur1<=0) {
document.getElementById('pertinence').value = "Aucune case cochée/Pertinence est égale à 0";
}else{
document.getElementById('pertinence').value = compteur1 + " case(s) cochée(s)"+"la pertinence est égale à : "+(compteur1/5);
}
}
function inc_decr2(val_input) {
if (val_input) {
compteur2++;
}else{
compteur2--;
}
if (compteur2<=0) {
document.getElementById('pertinence').value = "Aucune case cochée/Pertinence est égale à 0";
}else{
document.getElementById('pertinence').value = compteur2 + " case(s) cochée(s)"+"la pertinence est égale à : "+(compteur2/3);
}
}
</script>
et le formulaire:
Code HTML :
<tr>
<td width="30%">
<div style="text-align: left; font-weight: bold;">Type </div>
</td>
<td >
<select class="inputbox" name="type" onchange="selectbasic(this);">
<option value="">-</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<br>
<!-- je veux récupèrer une liste de case à cocher dans un champ caché -->
<div id="div-cause"><input type="text" id="pertinence" name="pertinence" size="5" value="" ></div>
</td>
</tr>
Ca fait une semaine que je cherche et je ne trouve pas. je débute en javascript si qlq peut m'aider. Merci bcp
|
|
jeudi 13 août 2009 à 11:06:19 |
Re : lier une liste déroulante à une liste de checkbox
|
jeudi 13 août 2009 à 17:35:54 |
Re : lier une liste déroulante à une liste de checkbox

nina599
|
Merci pour ton aide mais j'ai pas réussir à faire marcher ce que tu m'a proposé par contre j'ai modifié le code et maintenant mon problème est résolu à moitié. En fait j'ai crée pour chaque valeur de la liste un div différent contenant une liste de checkbox différente.
la fonction javascript:
Code Javascript :
function selectbasic(option)
{
switch(option.options[option.selectedIndex].value){
case "2":document.getElementById('div-cause1').style.display='';document.getElementById('div-cause2').style.display='none';document.getElementById('div-cause3').style.display='none';document.getElementById('div-cause4').style.display='none';
break;
case "3":document.getElementById('div-cause2').style.display='';document.getElementById('div-cause1').style.display='none';document.getElementById('div-cause3').style.display='none';document.getElementById('div-cause4').style.display='none';
break;
case "4":document.getElementById('div-cause3').style.display='';document.getElementById('div-cause2').style.display='none';document.getElementById('div-cause1').style.display='none';document.getElementById('div-cause4').style.display='none';
break;
default:document.getElementById('div-cause4').style.display='';document.getElementById('div-cause1').style.display='none';document.getElementById('div-cause3').style.display='none';document.getElementById('div-cause2').style.display='none';
break;
}
}
le formulaire html:
Code HTML :
<tr>
<td width="30%">
<div style="text-align: left; font-weight: bold;">Type </div>
</td>
<td >
<select class="inputbox" name="type" onchange="selectbasic(this);">
<option value="">-</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<br>
<div id="div-cause1" style="display:none"><input name="text_qte" type="checkbox" onClick="inc_decr2(this.checked);"/>1</br><input name="text_qte" type="checkbox" onClick="inc_decr2(this.checked);"/>2</br><input name="text_qte" type="checkbox" onClick="inc_decr2(this.checked);" />3</br><input name="text_qte" type="checkbox" onClick="inc_decr2(this.checked);" />4</br><input name="text_qte" type="checkbox" onClick="inc_decr2(this.checked);" />5</br></div>
<div id="div-cause2" style="display:none"><input name="text_qte" type="checkbox" onClick="inc_decr3(this.checked);"/>11</br><input name="text_qte" type="checkbox" onClick="inc_decr3(this.checked);"/>12</br><input name="text_qte" type="checkbox" onClick="inc_decr3(this.checked);" />13</br></div>
<div id="div-cause3" style="display:none"><input name="text_qte" type="checkbox" onClick="inc_decr4(this.checked);"/>21</br><input name="text_qte" type="checkbox" onClick="inc_decr4(this.checked);"/>22</br><input name="text_qte" type="checkbox" onClick="inc_decr4(this.checked);" />23</br><input name="text_qte" type="checkbox" onClick="inc_decr4(this.checked);" />24</br></div>
<div id="div-cause4" style="display:none">Ben y a rien hi hi</div>
</td>
</tr>
le soucis maintenant c'est quand je sauvegarde mon formulaire, quand je veux aller vers la liste de checkbox que j'ai coché. Les cases que j'ai coché ne sont plus visibles.
Svp si quelqu'un veut bien me filer un coup de main. comment pourrais je sauvegarder les données de mon div pour l'appeler après la sauvegarde?
|
|
vendredi 14 août 2009 à 10:40:17 |
Re : lier une liste déroulante à une liste de checkbox

singulier
|
Salut.
Pour ton probleme de preremplissage il faut que tu le fasse en php.
Je suppose que tu va envoyer ton formulaire a un fichier php pour recuperer les donnees
dans ce cas avec des variables $_SESSION tu peux recuperer a afficher les champs qui avaient ete saisis.
|
|
vendredi 14 août 2009 à 12:43:55 |
Re : lier une liste déroulante à une liste de checkbox

Bul3
|
vous ne m'avez pas répondu, mais si c'est suite
à l'envoi du formulaire, vous devez le faire
coté serveur.
vous pouvez faire ce que vous voulez coté javascript,
mais part mémoriser dans un cookie l'état, ce qui
serait absurde, pas de moyens
@singulier, même sans $_session ... je pense
if (isset($_post['c1']) $s='checked="checked"';
else $s='';
<input type="checkbox" value="c1"
name="c1" <?php echo $s;?> />
et|ou pour|sur les option si nécessaire

|
|
vendredi 14 août 2009 à 13:18:19 |
Re : lier une liste déroulante à une liste de checkbox
|
vendredi 14 août 2009 à 14:01:40 |
Re : lier une liste déroulante à une liste de checkbox

singulier
|
Je suis d'accord avec bul3
Pour le peremplissage il faut le faire en php (c'est plus simple) l'avantage de passer par des variables $_SESSION[] c'est que tes champs seronts prerempli meme apres un rechargement ou pares avoir visite d'autre page(et si tu passe par un script php dans un fichier separer)
voila un formulaire que j'ai fait qui semble correspondre ??
formulaire.
|
|
vendredi 14 août 2009 à 14:14:19 |
Re : lier une liste déroulante à une liste de checkbox
|
vendredi 14 août 2009 à 15:46:44 |
Re : lier une liste déroulante à une liste de checkbox

nina599
|
En fait j'ai pas bouton envoyer dans le formulaire. en fait c'est un formulaire qui vient se greffer dans une application existante(développé à la base du framework joomla). Et donc il n'y a pas le mm mécanisme de post. C'est pour ça que je n'arrive pas à mettre en place ce que vous m'avez proposé
En fait là je veux récupèrer la valeur des cases cochés pour les stocker dans la base. les mettre dans un array. et puis dans mes checkbox mettre une condition en php avec array_in() pour vérifier si la valeur d'un checkbox existe dans le array cela voudrait dire qu'elle a été cochée et me permettrait de l'afficher cochée.
Code PHP :
$destinataires=split(";",$array_case);//je veux mettre dans $array_case la valeur des //cases que j'ai coché
echo "<div id=\"div-cause1\" style=\"display:none\">";
while ($db_u->next_record()) {
?>
<?php $db_u->sp("name") ?> <input type="checkbox" value="<?php echo $db_u->f("id"); ?>"onClick="inc_decr2(this.checked);" name="__cbu-<?php $db_u->sp("id") ?>" <?php if (in_array($db_u->f("id"),$destinataires)) echo "checked"; ?>/>
<?php
}
echo "</div>";
je veux mettre dans $array_case la valeur des cases que j'ai coché comment faire?merci
|
|
vendredi 14 août 2009 à 16:00:48 |
Re : lier une liste déroulante à une liste de checkbox

singulier
|
Desolé mais je ne comprend pas bien.
Peux tu faire un lien sur ta page et mettre son code.
|
|
Cette discussion est classée dans : code, checkbox, liste, cases, déroulante
Répondre à ce message
Sujets en rapport avec ce message
lier une liste de checkbox (case à cocher) à une liste déroulante [ par nina599 ]
Bonjour, Après avoir chercher longtemps chez notre ami google sans trouver de piste je remets entre vos mains mon soucis espérant que quelqu'un y jett
checkbox affiche une liste déroulante [ par nicotech ]
Bonjour/Bonsoir je vous explique mon petit problème qui me prend la tête, j'ai plusieurs checkbox qui quand je les coches doivent chacune afficher le
afficher une liste déroulante en cliquant sur un input [ par lsamsoumal ]
Bonjour tout le monde je suis débutante en javascript et je cherche depuis le début de la journée à résoudre mon problème sans résultat!! En fait je d
récupérer deux valeurs dans liste déroulante [ par orionis1 ]
Bonjour à tous, Je souhaiterais récupérer deux valeurs dans une liste déroulante. je charge celle-ci avec l'id et la valeur des lignes d'une table. J
accéder à la value d'une liste déroulante en javascript [ par HF974 ]
Bonjour , je voudrais accéder à la value d'une liste déroulante en javascript Je m'explique , j'ai une liste déroulante qui correspond à des départe
rajout dans une liste déroulante [ par onylink ]
Bonjour, J'aurai aimé dans une liste déroulante avoir la possibilité d'ajout une nouvelle valeur. [B]Je m'explique : [/B][U]Dans un formulaire :[/
Problème de liste déroulante [ par mikeV ]
Bonjour j'ai un problème avec mon code, j'ai une liste déroulante et je voudrais que quand je séléctionne le premier élément de la liste il m'affiche
Liste déroulante [ par auremy ]
Bonjour,J'aimerais créer une liste déroulante, pour que lorsque l'utilisateur cliques sur un choix de la liste, une nouvelle page se charge. J'ai pour
Liste déroulante [ par mickaelpignier ]
Bonjour je suis tres novice en javascript!!Voila je cherhce a enchainer des liste déroulantes ds la mem pageLa premier contien des utilisateurs , la d
Style différent dans une liste déroulante [ par salley ]
Bonjour tous le monde,J'aimerais savoir comment appliquer un style different pour chaque selection de ma liste deroulante.J'ai essayer bien sur d'ajo
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|