11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Alors je vous explique mon problème. Je viens de commencer quelques petits trucs en javascript.

J'ai un tableau contenant sur la première colonne des checkbox et sur la seconde des familles de produits. Mon premier script (en partie récupéré sur PHPMyAdmin) consistait à cocher/décocher toutes les checkbox, lorsque l'utilisateur cochait ou décochait une checkbox en haut de la première colonne.

Voici la fonction :


function markUnMark( container_id ) {
		var rows = document.getElementById(container_id).getElementsByTagName('tr');
		var checkbox;
		var myAll;
		
		var nom = this.name;
		var val = this.value;
		
		window.status=this.name;
		
		myAll = document.getElementById("all");
		
		for ( var i = 0; i < rows.length; i++ ) {
	
			checkbox = rows[ i ].getElementsByTagName( 'input' )[0];
			
			if ( checkbox && checkbox.type == 'checkbox' ) {
				if ( checkbox.disabled == false ) {
					if (myAll.checked == true && checkbox != myAll) {
						checkbox.checked = true;
					} else if(myAll.checked == false && checkbox != myAll)  {
						checkbox.checked = false;
					}
				}
			}
		}
	
		return true;
	}


Maintenant, j'ai ajouté une troisième colonne de sous famille, et j'aimerais que lorsque l'utilisateur clique sur une checkbox d'une famille, toutes les sous-familles se cochent automatiquement.

Malheureusement, je ne vois pas comment changer ce script pour réussir cette opération. Les checkbox famille ayant par exemple leur name à 1 - 2 ou 3 et leur sous famille respectivement à 11, 12 - 21, 22, 23...
Modifié par Aerandir (08 Jun 2007 - 14:42)