Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2011, 20h42   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 43
Points : 11
Points : 11
Par défaut [Débutant] Où est mon erreur ?

Bonjour à tous.
Je recherche constamment à améliorer ma page web, et j'ai décider d'intégrer une forme de "filtrage" pour mes Tables.
Voici mon problème, ceci fonctionne:
Code :
1
2
3
4
5
6
7
 	<script language="javascript">
	function deleteRows(tableID) {
		var table = document.getElementById(tableID);
 		var rowCount = table.rows.length;		
		table.deleteRow(2);
        }
	</script>
Mais ceci ne fonctionne pas:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 	<script language="javascript">
	function deleteRows(tableID) {
		var table = document.getElementById(tableID);
 		var rowCount = table.rows.length;		
 		var content = "X";
           for(var i=rowCount-1; i>1; i--) {
               var Arow = table.rows[i];
               if(Arow.cells[7].innerHTML == content) {
                     table.deleteRow(i);
				}
               }            
        }
	</script>
Impossible de trouver pourquoi.
La Table à plus de 8 colonnes, et il y a des "X" dans chacune des colonnes.

D'avance, merci de votre aide.

Amicalement,
Claude ARDILLER.
ARDILLER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 22h47   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 757
Points : 4 757
Citation:
Envoyé par ARDILLER Voir le message
Mais ceci ne fonctionne pas:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 	<script language="javascript">
	function deleteRows(tableID) {
		var table = document.getElementById(tableID);
 		var rowCount = table.rows.length;		
 		var content = "X";
           for(var i=rowCount-1; i >1; i--) {
               var Arow = table.rows[i];
               if(Arow.cells[7].innerHTML == content) {
                     table.deleteRow(i);
				}
               }            
        }
	</script>
Impossible de trouver pourquoi.
il eut était plus sympa de nous décrire le dysfonctionnement, donc je dirais
Code :
for(var i=rowCount-1; i > -1; i--) { // les index commencent à 0
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 08h30   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 43
Points : 11
Points : 11
Par défaut Hélas non...

Code :
il eut était plus sympa de nous décrire le dysfonctionnement
Désolé, le fonctionnement devrait être le suivant:
Je souhaite effacer toutes les Rangées dont la Colonne 7 a la valeur "X"à partir de la ligne 2, jusqu'à la fin du Tableau.
Code :
for(var i=rowCount-1; i > -1; i--) { // les index commencent à 0
J'ai donc essayé ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function deleteRows(tableID) {
		var table = document.getElementById(tableID);
 		var rowCount = table.rows.length;		
 		var content = "X";
 		for(var i=0; i<rowCount-1; i++) {
			if(i>1){
				var Arow = table.rows[i];
				if(Arow.cells[7].innerHTML == content) {
					table.deleteRow(i);
					i--;
					rowCount--;
					}
				}
			}            
        }
A moins d'une erreur de ma part, ça ne fonctionne pas non plus...
ARDILLER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 09h11   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 757
Points : 4 757
Code :
1
2
3
4
5
6
7
8
9
10
11
function deleteRows(tableID) {
  var table = document.getElementById(tableID);
  var rowCount = table.rows.length;
  var content = "X";
  for( var i = rowCount - 1; i > 1; i--){
    var Arow = table.rows[i];
    if (Arow.cells[7].innerHTML == content){ //  Arow.cells[7] = colonne 8
      table.deleteRow(i);
    }
  }
}
dans ta fonction, celle du début du post, ci dessus tu fait le test sur la colonne 8, les indices commençant à 0
Code :
1
2
3
4
5
colonne 1 -> indice 0
colonne 2 -> indice 1
...
colonne 7 -> indice 6
...etc
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h54.


 
 
 
 
Partenaires

Hébergement Web