[Javascript] Gestion de liste et de nombre

Signaler
Messages postés
11
Date d'inscription
mardi 24 juin 2003
Statut
Membre
Dernière intervention
27 juin 2004
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
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

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
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.
Messages postés
11
Date d'inscription
mardi 24 juin 2003
Statut
Membre
Dernière intervention
27 juin 2004

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 ?
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
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.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
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.