[RESOLU] récupération de l'id en JS

Eléphanteau du PHP | 33 Messages

03 déc. 2017, 19:32

Bonjour,

Voici mon problème qui je ne pense pas être trop compliqué pour vous mais malgré mes recherches, je ne trouve pas.

J'ai un tableau avec différentes lignes que je récupère via une boucle :

Code : Tout sélectionner

for($i=0;$i<sizeof($travaux);$i++){ echo " <tr> <td class=infoDemTravaux ><u>".$travaux[$i]['idcmd']."<span>".$travaux[$i]['datecmd']."</span></td> <td class=infoDemTravaux ><u>".$travaux[$i]['civ']." ".$travaux[$i]['firstname']." ".$travaux[$i]['username']." <span>".$travaux[$i]['un']." - ".$travaux[$i]['deux']." - ".$travaux[$i]['trois']."</span></td> <td>".$travaux[$i]['naturecmd']."</td> <td>".$travaux[$i]['type']."</td> <td>".$travaux[$i]['nbre']."</td> <td>".$travaux[$i]['delai']."</td> <td>".$travaux[$i]['etat']."</td> <td><select name=position id=position[] onchange='verifStatutchk(this)'/> <option value=1>en cours</option> <option value=2>Pris en compte</option> <option value=4>Refusé</option> <option value=5>Devis en cours</option> <option value=6>Attente livraison</option> <option value=6>Dossier terminé</option> </select> </td> <td><a href='detaildemintervention.php?id=".$travaux[$i]['idcmd']."'>Détails</a></td> <td><input id=sel() type=checkbox name=sel[] value=".$travaux[$i]['idcmd']."onchange='verifStatut(this)'> <input type=hidden name=id[] value=".$travaux[$i]['idcmd']."> </td> </tr>"; }


Je voudrais récuperer l'id correspondant pour exploité mes fonctions ci-dessous

Code : Tout sélectionner

function verifStatutchk(champ){ document.getElementById('sel()').checked=true; } function verifStatut(champ){ document.getElementById('position()').value = "en cours"; }
Quand la liste déroulante change la bonne case se coche et si je la décoche ma liste reviens en premiere position
Merci de votre aide

ViPHP
ViPHP | 1996 Messages

07 déc. 2017, 23:25

Je ne suis pas sûr mais id=sel() fais relatif à une fonction php non ?
Si oui, tu ne peux pas demander à javascript de rechercher l'id sel() qui n'existe pas.

De même, je n'ai aps vu d'id appelé position(). Je pense aussi que les id ne doivent pas contenir de [] ou de () qui sont plutôt réservé au tableaux et fonctions
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 33 Messages

15 déc. 2017, 17:30

Bonsoir et merci pour ceux qui ont regardés mon problème,

je donne la solution que l'on m'a proposé et qui fonctionne bien pour ceux que cela intéresse.

Pour ce qui est de ma case à cocher j'attribue une class=selection_ok ainsi qu'une valeur recupérée de ma bd

Code : Tout sélectionner

<td> <input type=checkbox name=position[] class=selection_ok value=".$travaux[$i]['index']."> </td>
Puis via un script Js je coche ou non ma case, voici le code

Code : Tout sélectionner

<script type="text/javascript"> /* ******** CHANGEMENT DE STATUT *********/ for (const select of document.querySelectorAll('table select')) { select.addEventListener('change', function(e) { const checkbox = this.parentNode.parentNode.querySelector('.selection_ok'); checkbox.checked = (this.value !== ''); }); } </script>