Liens "Select all - Deselect all" et liste de cases à cocher

Liens "Select all - Deselect all" et liste de cases à cocher - HTML/CSS - Programmation

Marsh Posté le 10-03-2006 à 10:15:35    

Bonjour,
 
J'ai une liste de cases à cocher que je voudrais pouvoir sélectionner ou déselectionner en bloc grâce respectivement à un lien "Select all - Deselect all".
Mais je ne vois pas comment faire...
 
Pouvez-vous m'aider ?
 
Un grand merci d'avance,
 
 
Buzz cola

Reply

Marsh Posté le 10-03-2006 à 10:15:35   

Reply

Marsh Posté le 10-03-2006 à 10:31:11    

une recherche rapide sur google et tu devrais trouver 300 liens.
 
Sur ce forum, également. Ne serait-ce que le topic à peine plus: http://forum.hardware.fr/hardwaref [...] 6160-1.htm
 
Et si jamais tu avais envie de tout faire tout seul, tu vas avoir besoin de deux trucs:
- getElementsByTagName
- getAttribute

Reply

Marsh Posté le 12-03-2006 à 11:28:05    

Bonjour,
 
Concernant la question précédente, voici ce que j'ai trouvé comme solution qui fonctionne bien:
 
<SCRIPT LANGUAGE="JavaScript">
 
function checkAll()  
{
for (var j = 1; j <= 5; j++)  
 {
 box = eval("document.checkboxform.cb" + j);  
 if (box.checked == false) box.checked = true;
    }
}
 
function uncheckAll()  
{
 for (var j = 1; j <= 5; j++)  
 {
 box = eval("document.checkboxform.cb" + j);  
 if (box.checked == true) box.checked = false;
 }
}
 
</script>
 
 
<form name=checkboxform>
  <p>
    <input type=checkbox name=cb1 checked>
    Case1<br>
    <input type=checkbox name=cb2 checked>
    Case2<br>
    <input type=checkbox name=cb3 checked>
    Case3<br>
    <input type=checkbox name=cb4 checked>
    Case4<br>
    <input type=checkbox name=cb5 checked>
    Case5<br>
    <br>
  </p>
  <p><a href="#" onClick="checkAll()">Select all</a> - <a href="#" onClick="uncheckAll()">Deselect all</a> <br>
    </p>
</form>
 
 
Cependant, j'ai un petit souci car j'ai un formulaire distinct pour chacune des checkboxes. Je ne peux pas créer un formulaire commun car chaque entrée de ma liste de contacts renvoie vers une fiche différente, d'où la nécessité d'avoir une liste de formulaire pour envoyer le contenu des différents autres inputs.
 
Comment faire pour pouvoir quand même cocher/décocher toutes les cases ?
 
Merci d'avance,
 
Buzz cola

Reply

Marsh Posté le 13-03-2006 à 09:42:54    

A peu près comme je t'ai dit ... avec getElementsByTagName et getAttribute :o  
Vite fait ça donne:

Code :
  1. function checkAll(){
  2. var inpList = document.getElementsByTagName('input');
  3. for (var i=0; i<inpList.lenght; i++){
  4.    if ( inpList[i].getAttribute('type') == 'checkbox'){
  5.      // la ligne du dessous c'est pur DOM mais je suis pas sur que ça marche sur 100% des navigateurs
  6.      inpList[i].setAttribute('checked', 'checked');
  7.      // si ça marche pas utilises celle la:
  8.      //inpList[i].checked = 'checked';
  9.    }
  10. }
  11. }

Reply

Marsh Posté le 13-03-2006 à 10:05:38    

question vue et revue des dizaines de fois et anapajari et moi avons donné plusieurs solutions :  
http://forum.hardware.fr/hardwaref [...] m#t1322497

Reply

Marsh Posté le 13-03-2006 à 10:10:18    

gatsu35 a écrit :

question vue et revue des dizaines de fois et anapajari et moi avons donné plusieurs solutions :  
http://forum.hardware.fr/hardwaref [...] m#t1322497


la dernière fois j'avais merdé mon code, et tu m'avais fort justement corrigé... Maintenant je le connais par coeur ;)

Reply

Marsh Posté le 13-03-2006 à 10:46:54    

anapajari a écrit :

la dernière fois j'avais merdé mon code, et tu m'avais fort justement corrigé... Maintenant je le connais par coeur ;)


ET pourtant le pire dans tout ça, c'est que je suis loin de devoir tedonner des leçons en JS, c'est plutôt toi qui m'en donnerais

Reply

Marsh Posté le 13-03-2006 à 11:25:21    

on arrete les fleurs le lundi, après je me sens plus pété toute la semaine ;)
Et puis de toute façon, s'pas vrai...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed