[Javascript] Gestion de liste et de nombre

Shirox Messages postés 11 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 27 juin 2004 - 17 mars 2004 à 13:39
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 17 mars 2004 à 16:25
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.

<code>
<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 = '';
for(i=0;i<le_tableau.length;i++)
{
html+= '----
'+le_select.options[le_tableau[i]].innerHTML+'';
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">
----, </td>

----

Id des activités :
,

----

Nombre de personnes concernées :
,

----

Activités :
<select name="selectActivites">
<option value="1">KungFu</option>
<option value="2">Boxe</option>
<option value="3">Judo</option>
</select>

</form>




HiddenActivites => les id des compétences de Activites séparés par des "/"


HiddenActivitesCarac => les niveau des carac de Activites séparés par des "/"



</td></tr></table>

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 ! :)

4 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 mars 2004 à 15:16
Bonjour

si j'ai compris le problème :
une table d'activités, dans laquelle on peut faire + ou - 1
récupérer ces activiotés,nombres dans une zone texte ?
exemple :

<HTML>
<script type="text/javascript">
function met(sens)
{ if (sel.selectedIndex>=0)
{ sel[sel.selectedIndex].value=parseInt(sel[sel.selectedIndex].value,10)+sens;
// if (sel[sel.selectedIndex].value<0) sel[sel.selectedIndex].value=0;
// si nécessaire ?
}}
function memor()
{ txt.value="";
for (var i=0;i<sel.length;i++)
{ txt.value=txt.value+sel[i].text+"="+sel[i].value+"/"; } }
</script>
<select name=sel size=2>
<option value=0>boxe
<option value=0>judo
<option value=0>lancer de nains
<option value=0>lancer de charentaises
</select>

</HTML>

Cordialement. Bul.
0
Shirox Messages postés 11 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 27 juin 2004
17 mars 2004 à 15:57
Merci bcp Bul :), cependant, l'exemple cité ne correspond pas du tout à ce que je tente de faire, je pense que tester la source que j'ai mis dans mon premier message vous permettra de mieux voir ce que je tente de faire :), car ce n'est pas un simple ajout de valeur ;).

Un ami m'a dit que je devrais tenter d'exploiter un tableau bi-dimensionel pour résoudre mon problème, peut-être pourriez vous m'aider dans cette voix ?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 mars 2004 à 16:10
pas vu de différences fondamentales :
+ ou - sur une activité.
c'est ce qui est fait.
que faut-il faire si + sur une activité ( et si - ) ?
dans mon exemple on fait +1, ou -1.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 mars 2004 à 16:25
Bonjour
peut-être l'affichage de l'activité ?

<script type="text/javascript">
function met(sens)
{ if (sel.selectedIndex>=0)
{ sel[sel.selectedIndex].value=parseInt(sel[sel.selectedIndex].value,10)+sens;
if (sel[sel.selectedIndex].value<0) sel[sel.selectedIndex].value=0;}
vn.value=sel[sel.selectedIndex].value; }
function memor()
{ txt.value="";
for (var i=0;i<sel.length;i++)
{ txt.value=txt.value+sel[i].text+"="+sel[i].value+"/"; } }
function voir()
{ vn.value=sel[sel.selectedIndex].value;
vt.value=sel[sel.selectedIndex].text; }

</script>
<select name=sel size=3
onclick="voir();" onchange="voir();">
<option value=0>boxe
<option value=0>judo
<option value=0>lancer de nains
<option value=0>lancer de charentaise
</select>

:

Cordialement. Bul.
0
Rejoignez-nous