Tous d'abord bonjour, et merci de vous être attarder sur ce sujet :) .
Je m'excuse si le titre n'est pas très précis, mais je ne voyais pas trop comment expliquer cela ^_^. Cependant, voici la source qui, j'en suis sur, vous permettra de mieux comprendre :p.
<script> var content1 = new Array(); var tab_cara = new Array();
var le_select; var le_champs; var le_tableau; var la_ligne
function copy_tab() { document.formliste.Nbr.value = tab_cara[0]; }
function Carac(cara,val) { if((val>0) || (tab_cara[cara]!=0)){ tab_cara[cara]+=val; copy_tab();} }
function Define(sel,tableau,hide,ligne) { le_select = sel; le_champs = hide; le_tableau = tableau; la_ligne = ligne; }
function setLigne(sel,tableau,hide,ligne) { Define(sel,tableau,hide,ligne) le_tableau.push(le_select.selectedIndex); dessine(); }
function dessine() { le_champs.value=""; html = '<table width="100%" border="1" cellspacing="0" cellpadding="0">'; for(i=0;i<le_tableau.length;i++) { html+= '<tr><td align="center"style="CURSOR: hand" onclick="enlever('+i+');">'+le_select.options[le_tableau[i]].innerHTML+'</td>'; html+= '<td width="35%"><input name="Nbr" type="text" value="0" size="2" onFocus="javascript:blur()"><input type="button" name="Submit2" value="-" onclick="Carac(0,-1)"><input type="button" name="Submit" value="+" onclick="Carac(0,+1)"></td></tr>'; le_champs.value+=le_select.options[le_tableau[i]].value+"/"; } html+= ' </table>'; la_ligne.innerHTML = html; }
function enlever(no) { le_tableau.splice(no, 1); dessine(); }
</script> <form name="formliste" method="post" action=""> <table width="500" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#CCCCCC"> <tr> <td width="25%" align="center"><input name="Activites" type="button" id="Activites" onClick="setLigne(this.form.selectActivites,content1,this.form.HiddenActivites,document.getElementById('LigneActivites'))" value="Activites"></td> </tr> <tr> <td align="center">Id des activités : <input name="HiddenActivites" type="text" id="HiddenActivites"></td> </tr> <tr> <td align="center">Nombre de personnes concernées : <input name="HiddenActivitesCarac" type="text" id="HiddenActivitesCarac"></td> </tr> <tr> <td align="center"> Activités : <select name="selectActivites"> <option value="1">KungFu</option> <option value="2">Boxe</option> <option value="3">Judo</option> </select></td> </tr> <tr> <td align="center"><div id="LigneActivites" onMouseOver="Define(selectActivites,content1,HiddenActivites,this)"></div></td> </tr> </table> </form> <p><br> <br> HiddenActivites => les id des compétences de Activites séparés par des "/" </p> <p> HiddenActivitesCarac => les niveau des carac de Activites séparés par des "/" <br> </p>
|
Voilà donc. Le concept est d'avoir une liste d'activitées et de pouvoir "l'injecter" dans un tableau, ainsi que son id dans un champ caché (ici il n'est pas caché, afin de pouvoir vérifier).
Le tableau fourni donc le visuel, et le hidden les données qui seront envoyé vers la base Mysql.
Là où je bloque, c'est quand je dois assigné le nombre de personnes concerné par cette activité.
Imaginons que 10 personnes soit concernés par le KungFu, je cliquerais donc sur les +- afin de modfier ce chiffre (je ne fais pas rentrer le chiffre manuellement, car je compte par la suite instauré une limite).
Cela marche si je n'ai qu'une seule activitée :(.
De plus, je voudrais que le nbr de personne vienne se place dans le champ HiddenActivitesCarac, comme pour les activités, cad le nombre de personnage, séparé par des '/', mais là rien à faire, je ne trouve pas la solution.
Un exemple donnerai :
FungFu => 3
Boxe => 4
Judo => 1
Id des activités : 1/2/3/
Nombre de personnes concernées : 3/4/1
Et enfin, et cela fonctionne déjà, lorsque l'on clik sur une activité, celle ci se supprime, que ce soit dans le tableau, ou dans le champ hidden.
Voilà Voilà, j'espére que vous avez compris mon problème, et merci d'avance ! :)