récuperer le nuùero de ma cellule

récuperer le nuùero de ma cellule - HTML/CSS - Programmation

Marsh Posté le 15-07-2003 à 18:08:26    

Bonjour,
J'ai un tableau qui se construit dynamiquement (1 ligne avec un nombre de cellule variant). Lorsque je clique dans l'une des cellules je veux récupérer laquelle est-ce (1,2 ou3....) car elle doit s'afficher sous forme d'onglet.  
Quelqu'un a une idée?? Voici mon code

Code :
  1. function TabClick( nTab )
  2. {
  3.   tabs[nTab].className = "TabCommon TabOn TabActiveBackground
  4. TabActiveBorderLeftRight";
  5. }
  6. <td CLASS="TabBorderBottom TabCommon TabOff" ID="tabs"
  7. ONCLICK="TabClick(this.???);">


 
Je ne sais pas quoi mettre à this, legth c pas bon, index non plus....
Bref à l'aide!!!

Reply

Marsh Posté le 15-07-2003 à 18:08:26   

Reply

Marsh Posté le 15-07-2003 à 18:46:40    

Tu veux récupérer le N° de la colonne en fait ?


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 16-07-2003 à 19:13:45    

oui puisque je n'ai qu'une ligne, mais le nombre de colonne est variable, car construit par une requête SQL!!

Reply

Marsh Posté le 17-07-2003 à 10:36:01    

Salut,
 
Il n'y a pas (à moins que je me gourre sévère) d'attribut qui donne le numéro de colonne.
 
En revanche, tu peux le recalculer à la main. Je m'explique :
 
1) Tu fais un appel à ta fonction avec this comme paramètre
2) Dans ta fonction, tu remontes jusqu'à la balise <tr> grâce aux fonctions dom.
3) Tu récupères les enfants de cette balise qui sont des <td>
4) Tu itères sur ces enfants en faisant un test d'égalité avec le paramètre de ta fonction. Si c'est égal, alors c'est la même case. Le nombre de fois que tu as itéré te donne le n° de la colonne.
 
Je me suis bien fait comprendre ?


---------------
Dans le monde, il n'y a que 10 sortes de personnes : ceux qui savent compter en binaire et ceux qui ne savent pas
Reply

Marsh Posté le 17-07-2003 à 11:12:14    

mouaaaais comment se compliquer la vie.

Code :
  1. function TabClick( obj ) 
  2. obj.className = "TabCommon TabOn TabActiveBackground 
  3. TabActiveBorderLeftRight"; 
  4. <td CLASS="TabBorderBottom TabCommon TabOff" ID="tabs" 
  5. ONCLICK="TabClick(this);">

 
 
Maintenant si tu as egalement besoin de recuperer le numero de colonne moi je te conseillerais de nommer des colonnes distinctement genre tabs_0, tabs_1 ( ce qui ne doit pas te poser de probleme si tu les construis dynamiquement) et ensuite dans la fonction avec this.id tu peux recuperer le nom de l'id et donc son numero...

Reply

Marsh Posté le 17-07-2003 à 11:18:13    

J'approuve :D


---------------
Dans le monde, il n'y a que 10 sortes de personnes : ceux qui savent compter en binaire et ceux qui ne savent pas
Reply

Marsh Posté le 17-07-2003 à 12:56:47    

Mais je ne peux PAS nommer distinctement les colonnes puisqu'elle se construisent en fonction de ma requête SQL!!!
et ce que tu explique marvinle rouge me parait bien compliqué  :??:  
bon je continue a chercher!!
Merci de votre aide
calistap

Reply

Marsh Posté le 17-07-2003 à 13:21:46    

Calistap a écrit :

Mais je ne peux PAS nommer distinctement les colonnes puisqu'elle se construisent en fonction de ma requête SQL!!!


 :heink:  
Arretes moi si je me trompes mais chaque colonne tu "recopies" le code html correspondant à une colonne et à l'interieur de celle-ci tu places le resultat de la colonne correspondante de ta requete, correct?
Pourquoi ne pourrais tu pas changer l'id de la même façon?

Reply

Marsh Posté le 17-07-2003 à 14:19:50    

Calistap : Tu utilises une requête SQL, donc un langage de page dynamique, genre php asp ou autre, dans lequel tu écris le code html de tes colonnes grâce à une boucle. Et bien ,dans la même boucle, tu indiques l'id de la colonne.  
 
Exemple en ASP, en JScript :
<%
numColonne = 1;
while (!rs.eof)
{
%>
  <td id="<%=numColonne%>"><%=rs ("dataDuTd" )%></td>
<%
  numColonne++;
  rs.moveNext ();
}
%>


---------------
Dans le monde, il n'y a que 10 sortes de personnes : ceux qui savent compter en binaire et ceux qui ne savent pas
Reply

Marsh Posté le 18-07-2003 à 13:45:31    

répondre tout à fait, je suis en ASP!!!
Je tente ton code merci
Sandra

Reply

Sujets relatifs:

Leave a Replay

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