begin process at 2012 05 29 09:32:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Autre Framework

 > 

mauvaise imbrication de selecteurs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

mauvaise imbrication de selecteurs

vendredi 2 avril 2010 à 14:29:23 | mauvaise imbrication de selecteurs

lagChat


Bonjour à tous,

Je vais essayer d'être claire : je suis sur le dev d'1 appli qui me tiens en éveil depuis quelques semaines. C'est beaucoup de bug et j'en suis devant un qui m'embête beaucoup car c'est le dernier et il est certainement tout con....pour "CELUI QUI SAIT!". j'ai donc décidé enfin de demander de l'aide en direct. (hors lecture - "parcourage" - scrutage de forum, bouquin, tuto...)

Je vous explique et puis je mettrais le code.

PB => la strucutre : je crée un "listing dynamique de travailleur" que je construit dans un tableau donc avec un grand nombre de <tr> et <td> différentes et <id>, <name> différents.

exemple :
une ligne contient 2 btn en 1ere&2eme td puis le nom en 3eme td puis un td pr chaque jours du mois (certains jour sont marqués selon un calcul plus amont qui marque les jours de festival).

le 1er btn ouvre 1 dialog(); qui permet de choisir dans la liste de jour (nb de j de l'événement), pour chaque ligne (donc avec en paramètre l'id du travailleur);

Or au moment de la validation des jours (adns le dialog(); ), mon besoin est d'ajouter, via jquery (car c'est la syntaxe que j'ai utilisé pour toutes mes interactions avec le listing : dialog(); autocomplete...), du texte (ex :"ok") dans le <p id="num_jour"> qui se trouve dans une <td> qui se trouve dans la <td id="id_utitlisateur">

Pour prévenir à certaines questions qui vous paraitraient évidentes :

1°) J'ai fait les tests et je trouve bien la <td id="id_utilisateur"> ainsi que le <p id="num_jour"> mais séparemment
2°) Ma <boucle for> fonctionne car je fais des alert(); => une fenêtre s'affiche pour le nombre de jours cliqué
3°) cela écrit bien dans <p> car lorsque je ne précise pas d'id de <p> il m'écrit dans tous les <p>
4°) Je suis forcée de garder cette structures (trop de paramètres sont nécessaires)
5°) J'ai bien branché la prise...

Le code :

2 ligne de la liste (1foi chargée)

2 ligne de la liste (1 foi chargée)
Code HTML :
<tr><td id="85"><input type="button" name="612, 5_6_7_8_9" id="85" value="modifier" class="tps_wo"/><th class="rouge"><input type="button" name="2010-03-02, 83, 1" id="85" value="NOM1 - prenom1" class="nm_wo"/></th>
                                                <td ></td><td ></td><td ></td><td ></td><td class="rouge" id="83"><p id="5"><span id="ici">83</span></p></td><td class="rouge" id="83"><p id="6"><span id="ici">83</span></p></td><td class="rouge" id="83"><p id="7"><span id="ici">83</span></p></td><td class="rouge" id="83"><p id="8"><span id="ici">83</span></p></td><td class="rouge" id="83"><p id="9"><span id="ici">83</span></p></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td></td></tr>0 => 51 => 6<br />
                                                <tr><td id="86"><input type="button" name="615, 5_6_7_8_9" id="86" value="modifier" class="tps_wo"/><th class="rouge"><input type="button" name="2010-03-02, 83, 1" id="86" value="NOM2 - prenom2" class="nm_wo"/></th>
                                                <td ></td><td ></td><td ></td><td ></td><td class="rouge" id="83"><p id="5"><span id="ici">83</span></p></td><td class="rouge" id="83"><p id="6"><span id="ici">83</span></p></td><td class="rouge" id="83"><p id="7"><span id="ici">83</span></p></td><td class="rouge" id="83"><p id="8"><span id="ici">83</span></p></td><td class="rouge" id="83"><p id="9"><span id="ici">83</span></p></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td><td ></td></td></tr>0 => 51 => 62 => 73 => 84 => 9<br />


Différents code que j'ai testé :

Code Javascript :
var info4 = data.split(/\, \s*/g);
//$("#verif2").html(info4[1]);
var comptage = info4.length-1; 
for (i=0; i<=comptage; i++)
{
//$("td#"+idBtn_tps_wo+":has(p#"+info4[i]+")").text("yes");
//$("td#"+idBtn_tps_wo+" p:nth-child(6)").text("yes");
//$("p#"+info4[i]).parent("#"+idBtn_tps_wo).text("troulaloupouet");
//$("td#"+idBtn_tps_wo+" p#"+info4[i]+":only-child").text("yes");
//alert('p#' + info4[i] + '[@td#' + idBtn_tps_wo +"]");
} 


Voila je pense que une fois que vous aurez lu tout ça vous aurez certainement besoin de revenir au début du message...

quelqu'un a une petite idée ? merci d'avance


Il est difficile de trouver un chat noir dans une pièce sombre!Surtout quand il n'y ai pas...
vendredi 2 avril 2010 à 17:30:39 | Re : mauvaise imbrication de selecteurs

PetoleTeam

Membre Club
Bonjour,
je dois admettre que j'ai beau relire je ne saisi pas réellement ton problème. Peut être les vapeurs de l'apéro proche m'enivrent t-elles déjà le cerveau toujours est il que ...
- la portion de HTML fourni nous montre que les IDs ne sont pas uniques que il y a du texte entre des balises </TR> et <TR> que l'on trouve des construction du type <P><SPANS>...</SPAN></P>, c'est pas top mais bon...
- la partie de code JS ne nous apprend pas grand chose de tes tests

Je tente néanmoins un réponse
lors de l'appui sur un bouton, récupères la TR parent et vas écrire directement dans la TD correspondante, donc tu connait la position de par le jour et le nombre de colonne présente avant le jour 1...

Mais alors sous toutes réserves

;O)
vendredi 2 avril 2010 à 17:58:58 | Re : mauvaise imbrication de selecteurs

lagChat

donc mon vrai problème est en fait que je souhaite écrire dans un <p> lors de la validation d'un bouton.
je connais son id ainsi que celui de la td le contenant.
Ce que je cherche à faire c'est pouvoir cibler ce <p> et écrire dedans.

la portion de HTML fourni nous montre que les IDs ne sont pas uniques


En effet et j'ai tout bêtement pensé lors de ma construction que le fait que ça ne soit pas le même type de balise
me permettait de mettre les mêmes id (pas très organisée comme dev ni fut-fut!)

il y a du texte entre des balises </TR> et <TR>


en fait c'est un variable que j'affiche pour mes test (liste des jours pour le travailleur qui précède);

et pour le code js, voici un bout plus complet que je vais commenter mieux (si je peux °-°')
j'envoie certaines données à un script php sur une autre page => celui va me permettre de faire mes update pour les utilisateurs et de me retourner un array des jours de taf. pour chacun d'eux je compare avec l'id du <p> et je lui écris ("ok"); et non pas ("troulaloupouet");!
Code Javascript :
var idBtn_tps_wo = $(this).attr("id");//ici je récupère l'id du boutton sur lequel je clique (qui est c'est vrai le même que celui de la td qui contient le <p>...[^^yeuxenlair])

$.post("req_up_user.php", {queryIdUse: "" + idenU +"", queryIdWo: "" + idenW +"", queryListJour: ""+jour+"", queryMoi: ""+idenMoi+"", queryAnn: ""+idenAnn+""}, function(data2){
                                var info4 = data2.split(/\, \s*/g);//je sépare chaque jour
                                var comptage = info4.length-1;//je compte combien il y en a
                                for (i=0; i<=comptage; i++){// en commentaire quelque-unes des methodes que j'ai testé pour écrire dans mon <p>(l'1 après l'autre bien sûr)
                                        /*$("td#"+idBtn_tps_wo+":has(p#"+info4[i]+")").text("yes");
                                        $("td#"+idBtn_tps_wo+" p:nth-child(6)").text("yes");
                                        $("p#"+info4[i]).parent("#"+idBtn_tps_wo).text("troulaloupouet");
                                        $("td#"+idBtn_tps_wo+" p#"+info4[i]+":only-child").text("yes");*/
                                        alert('p#' + info4[i] + '[@td#' + idBtn_tps_wo +"]");
                                    } 
});   


Pensez-vous que je dois éclaircir tout dabord cette histoire d'id ?

Je vous remercie en tout cas de votre première tentative, mais je craint qu'à présent les vapeurs de l'apéro seront plus que présente...

--

Il est difficile de trouver un chat noir dans une pièce sombre!Surtout quand il n'y ai pas...
vendredi 2 avril 2010 à 18:17:24 | Re : mauvaise imbrication de selecteurs

PetoleTeam

Membre Club
connaissant l'ID du destinataire il n'y a aucun problème à écrire dedans en modifiant son innerHTML, MAIS il faut que l'ID soit UNIQUE...
donc le traitement des ID me semble une bonne première démarche

pour écrire dans un objet quelconque on utilise la méthode document.getElementById( id_objet)
et on modifie son innerHTML entre autres possibilités

exemple
Code Javascript :
var Obj = document.getElementById('mon_id');
if( Obj)
  Obj.innerHTML = "Bonjour le Monde !";
;O)
vendredi 2 avril 2010 à 18:27:31 | Re : mauvaise imbrication de selecteurs

lagChat


Ok dac je fait le nettoyage dans mon écriture des id..

Il subsiste un "pb/question" c'est que le fait de savoir que c'est le <p> avec cet id de cette <td> ave son id est important.
car a chaque ligne/tr la première td représente, par son id la ligne du 1er travailleur => donc les <p> qui s'y trouvent représente les <p> de ce travailleur
donc j'ai besoin de dire que j'envoi le text dans les <p> de cette <td>
LA QUESTION : Il y a t-il un moyen de mettre un lien d'affiliation entre cette <td> et ce <p> ?


var Obj = document.getElementById('mon_id');
if( Obj)
Obj.innerHTML = "Bonjour le Monde !";



question bête certainement :

j'ai attaqué mon script avec une "syntaxe jqery" si je peux dire, donc mes selecteurs sont du type $("p") ou $("#mon_id")

donc je pense qu'il me faut trouver une réponse en jquery non ?

merci.

Il est difficile de trouver un chat noir dans une pièce sombre!Surtout quand il n'y ai pas...
vendredi 2 avril 2010 à 20:14:43 | Re : mauvaise imbrication de selecteurs

PetoleTeam

Membre Club
jquery, ou les autres ne sont pas toujours indispensable, tu peux tout à fait intégrer des lignes de javascript perso lorsque tu utilises une bibliothèque toute faite.

Si tu tiens a mettre des ID de partout, une suggestion serait que tu mettes des ID reconnaissables et UNIQUE par exemple pour une même ligne
- les TR avec id = "TR_"+ num_ligne
- les TD avec id = "TD_"+ num_ligne +"_" +num_col
- les P avec id = "P_" + num_ligne +"_" +num_col

;O)
mardi 6 avril 2010 à 07:35:39 | Re : mauvaise imbrication de selecteurs

lagChat

Merci pour les conseils, je met cela en pratique ce matin.

--

Il est difficile de trouver un chat noir dans une pièce sombre!Surtout quand il n'y ai pas...


Cette discussion est classée dans : code, td, color, info4, idbtn


Répondre à ce message

Sujets en rapport avec ce message

De l'aide pour un petit jeu.... [ par Nini ] Voilà le script d'une page : ..:: Challenge JavaScript Niveau: 5 :: Extra-Facile ::.. var code = "A toi de trouver"; function checkfrm() affichage différent entre IE et firefox [ par sarril ] Bonjour, j'ai un problème d'affichage de mon site dans firefox. Sur IE, pas de pb, affichage du tableau avec les couleurs de fond et liens actifs. S Code Lien [ par TOONIE ] Bonsoir,J'essaye de créer un lien avec un code un peu moderne (en tout cas pour le débutant que je suis, je trouve cela moderne. !), et ça ne fonction Connaitre le tag d'un champs suivant son ID [ par Divinity78180 ] Bonjour, J'aimerais savoir s'il est possible de connaitre le tag de l'objet qu'on sélectionne avec "getElementById". [b]Exemple :[/b] [code=html] [ resize d'un td [ par Dav_c ] Bonjour j'utilise un script pour redimensionner un td qui marche très bien sous ie mais sous firefox..... rien [code=js] document.getElementById("td Resize image CSS [ par begueradj ] Azul, J'aimerais, [color=red]en CSS,[/color] redimentionner mon image à ce qu'elle puisse prendre la même taille que le "id" où elle se trouve: une i demand de correction d'un code [ par lyamcarter ] Bonjour, c'est mon premier message ici. Je suis novice, et j'essaye de faire une page web dans laquelle il y a un tableau. Je souhaite en cliquant su probleme sur fonction window.open Mozilla &IE [ par chefield ] bonjour a tous !Je me suis permis de venir poster ici en dernier recour a mon soucis.j'ai pourtant un peu chercher partout, regardé des codes deja exi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales