Transformer un tableau javascript en un tableau html

Contenu du snippet

Cette fonction prend en argument une variable javascript qui est un tableau, une matrice à x lignes et y colonnes, et le transforme en une table HTML aver entête (la 1ere ligne de la matrice en TH) et données. Cette table est un objet javascript qu'il faut "append" sur un DIV ou équivalent. tout simplement.

Un exemple tout simple? Soit "val" la variable matrice JS, et "obj" un objet DIV (obtenu en général avec obj = document.getElementById('nom_div'); ...):

obj.appendChild( CreateTableArray( val));

c'est tout!

Source / Exemple :


// génère un tableau HTML sur la base d'un tableau à 2 dimensions val[][]
// la 1ere ligne de val contient les entêtes
function CreateTableArray(val) {
	var tbl = document.createElement("TABLE");
	tbl.setAttribute("border", 1);
	var tr = document.createElement("TR");
	var tbody=document.createElement("TBODY");
	var thead=tbl.createTHead();
	var tfoot=tbl.createTFoot();	

	var n=val[0].length;
	for (var j = 0; j < n; j++) {
		var td = document.createElement("TH");
		td.appendChild(document.createTextNode(val[0][j]));
		tr.appendChild(td);
	}
	thead.appendChild(tr);
	
	m = val.length;
	for(var i = 1; i < m; i++){
		var tr = document.createElement("TR");
		for(var j = 0; j < n ;j++){
			var td=document.createElement("TD");
			td.appendChild(document.createTextNode(val[i][j]));
			tr.appendChild(td);
		}
		tbody.appendChild(tr);	
	}
	
	tbl.appendChild(thead);
	tbl.appendChild(tfoot);
	tbl.appendChild(tbody);
	return tbl;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.