Tableau javascript

Résolu/Fermé
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 - 10 déc. 2008 à 09:34
 Sims' - 10 déc. 2008 à 17:15
Bonjour,

Dans une table, je voudrai ajouter des lignes dans une colonne (en javascript)
Mais comment faut il adapter le tableau
merci
A voir également:

7 réponses

jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 3
10 déc. 2008 à 16:47
Yop, Salut

C'est bon j'ai trouvé un truc pas mal qui fonctionne :
function supp() {
var table = document.getElementById('side_bar') ;
var tableSize = table.rows.length ;

for (var l=0; l<tableSize ; l++)
{
alert(tableSize + ' et l= ' + l);
    table.rows[l].deleteCell(Number(document.getElementById("side_bar").value));
}
alert('fini'); 
}


Je me permet de soulever une problématique (que j'espere que tu sera trouver une soluce). Dans mon body j'ai :
<body onunload="GUnload()">

<table border=1 id="side_bar" >

    </table>

<div id="map" style="width: 900px; height: 550px"></div> 
  </body>

Je souhaiterai que mon tableau se trouve A DROITE de <div id="map" style="width: 900px; height: 550px"></div>
J'ai essayé ca :
<table border=1 id="side_bar" style="position:absolute, right: 560px">

Mais ca ne bouge pas d'un poil...
Merci
1
Bonjour,

si tu sais déjà combien de ligne tu veux ajouter, il te suffit de faire en sorte de mettre les tr, td en visibility="hidden" et de les passer en visibility="visible" quand tu veux les rendre visible.

Après si tu veux en rajouter et que tu ne sais pas combien de lignes tu veux rajouter, il va falloir te tourner vers de l'AJAX :D.

Sauf erreur, bonne chance !
0
Hello,

Ceci devrait t'aider ou te guider (code JS) :

//création d'une nouvelle ligne à la fin de ton tableau
var row = document.getElementById('maTable').insertRow(-1) ;

//insertion d'une nouvelle cellule à la fin de la ligne créée ci-dessus.
var col1= row.insertCell(-1) ;
//insertion d'un contenu texte en gras
col1.innerHTML = '<strong>blablabla</strong>' ;

//insertion d'une nouvelle cellule à la fin de la ligne créée ci-dessus.
var col2 = row.insertCell(-1) ;
//insertion d'un contenu
col2.innerHTML = 'blablabla2';
0
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 3
10 déc. 2008 à 12:03
BAh tiens je profites d'un expert,

Est ce que tu saurai comment ajouter des lignes (des td) dans une cellule (= tr) ?
merci
0
Re,

alors petite explication supplémentaire :

tr = ligne
td = cellule

voici le code HTML pour un tableux de 2 lignes avec 2 colones :

<table id="maTable">
    <tr>
        <td>ligne 1 col 1</td>
        <td>ligne 1 col 2</td>
    </tr>
    <tr>
        <td>ligne 2 col 1</td>
        <td>ligne 2 col 2</td>
    </tr>
</table>


et si tu veux ajouter une ligne à ceux tableaux en JS tu feras comme ceci :

//création d'une nouvelle ligne à la fin de ton tableau
var row = document.getElementById('maTable').insertRow(-1) ;

//insertion d'une nouvelle cellule à la fin de la ligne créée ci-dessus.
var col1= row.insertCell(-1) ;
//insertion d'un contenu texte en gras
col1.innerHTML = 'ligne 3 col 1' ;

//insertion d'une nouvelle cellule à la fin de la ligne créée ci-dessus.
var col2 = row.insertCell(-1) ;
//insertion d'un contenu
col2.innerHTML = 'ligne 3 col 2';


en fait le code insertCell correspond à un td et le insertRow correspond à un tr.

je ne suis pas sur d'avoir bien compris ta 2ème question, mais j'espère que l'explication ci-dessus t'aidera.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 3
10 déc. 2008 à 14:27
Ah cool merci
Est ce que tu saurai comment faire, maintenant, pour supprimer toutes les lignes du tableau
Supprimer le contenue quoi
J'ai trouvé ca, sur internet, mais y a des trucs non déclaré
function Supp()	
{ 	
		tableau.deleteRow(Number(document.getElementById("adr").value));
		break;   
}

par exemple "tableau" à quoi cela correspond ?
Je sais que "adr" est l'id de la table
Voilà @+ et merci
0
Voilà :

var table = document.getElementById('maTable') ;
var tableSize = table.rows.length ;

//le tableSize permet de faire la boucle sur toutes les lignes, le table.rows.length diminue à chaque
//suppression, par conséquent, si on l'utilise, on ne supprimera pas toutes les lignes.
for (var i=0; i<tableSize ; i++)
    linkTable.deleteRow(0) ;
    //il faut pas mettre i dans le deleteRow sinon on aura une erreur dans le genre ArrayIndexOutOfBound 
    //(enfin une exception du genre), alors on boucle sur la première ligne et on la supprime.
0
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 3
10 déc. 2008 à 16:06
Yop Slt!
Merci pr ton code !!!
c'est bizarre mais l'éxécution se bloque au niveau de linkTable.deleteRow(0) ;

function supp() {
var table = document.getElementById("side_bar");
var tableSize = table.rows.length ;

for (var k=0; k=(table.rows.length) ; k++)
{
alert(tableSize + ' et k= ' + k);   
linkTable.deleteRow(0) ;
}   
alert('fini'); 
}

peut-être qu'il n'aime pas linkTable ....

hmm tu vois le problème ?
0
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 3
10 déc. 2008 à 16:53
Ah si ca fonctionne bien :
Erreur de syntaxe
<table border=1 id="side_bar" style="position:absolute; right: 560px">

Merci pour tout
0
petite correction de mon code :

var table = document.getElementById('maTable') ;
var tableSize = table.rows.length ;

for (var i=0; i<tableSize ; i++)
    table.deleteRow(0) ;


il fallait remplacer linkTable par table
0
personnellement j'aurais fait qqch comme :
<div id="map">
    <div id="side_bar_container" style="float: right;">
        <table id="side_bar"></table>
    </div>
</div>

Je crois que ça devrait fonctionner...
0