Javascript Calcul avec liste deroulante liéé
linea26
-
linea26 -
linea26 -
Bonjour, à tous je cherche mettre en place une devis en ligne avec des listes déroulantes liéés.
Je m'explique, quand l'utilisateur fait un choix dans la première liste cela déclenche l'ouverture d'autre liste. Et ça devra déclanché l'addition de chaque choix.
Maintenant de voudrais mettre un prix pour chaque choix. Mais je ne sais pas ou les mettre et quel fonction appeler pour faire mon calcul.
Voici mon code actuelle avec les listes.
Je m'explique, quand l'utilisateur fait un choix dans la première liste cela déclenche l'ouverture d'autre liste. Et ça devra déclanché l'addition de chaque choix.
Maintenant de voudrais mettre un prix pour chaque choix. Mais je ne sais pas ou les mettre et quel fonction appeler pour faire mon calcul.
Voici mon code actuelle avec les listes.
<html> <head> <script type="text/javascript" language="javascript"> var format = new Array; //nouveau tableau format[0] = new Array("p0","A6"); format[1] = new Array("p1", "11x17"); format[2] = new Array("p2", "14x21"); var papier=new Array; // A6 papier["p0"] = new Array; papier["p0"][0] = new Array("p0v0", "A6-bouffant"); papier["p0"][1] = new Array("p0v1", "A6-offset"); //11x17 papier["p1"]=new Array; papier["p1"][0] = new Array("p1v0", "11x17-bouffant"); papier["p1"][1] = new Array("p1v1", "11x17-offet"); //14x21 papier["p2"] = new Array; papier["p2"][0] = new Array("p2v0", "14x21-bouffant"); papier["p2"][1] = new Array("p2v1", "14x21-offset"); var pagesnb = new Array; //A6-bouffant pagesnb["p0v0"] = new Array; pagesnb["p0v0"][0] = new Array("p0v0r0", "A6-bouffant-de 50 a 100 pages"); pagesnb["p0v0"][1] = new Array("p0v0r1", "A6-bouffant-de 101 a 150 pages"); pagesnb["p0v0"][2] = new Array("p0v0r2", "A6-bouffant-de 151 a 200 pages"); //A6-offset pagesnb["p0v1"] = new Array; pagesnb["p0v1"][0] = new Array("p0v1r0", "A6-offset-de 50 a 100 pages"); pagesnb["p0v1"][1] = new Array("p0v1r1", "A6-offset-de 101 a 150 pages"); pagesnb["p0v1"][2] = new Array("p0v1r2", "A6-offset-de 151 a 200 pages"); //11x17-bouffant pagesnb["p1v0"] = new Array; pagesnb["p1v0"][0] = new Array("p1v0r0", "11x17-bouffant-de 50 a 100 pages"); pagesnb["p1v0"][1] = new Array("p1v0r1", "11x17-bouffant-de 101 a 150 pages"); pagesnb["p1v0"][2] = new Array("p1v0r2", "11x17-bouffant-de 151 a 200 pages"); //11x17-offset pagesnb["p1v1"] = new Array; pagesnb["p1v1"][0] = new Array("p1v1r0", "11x17-offset-de 50 a 100 pages"); pagesnb["p1v1"][1] = new Array("p1v1r1", "11x17-offset-de 101 a 150 pages"); pagesnb["p1v1"][2] = new Array("p1v1r2", "11x17-offset-de 151 a 200 pages"); //14x21-bouffant pagesnb["p2v0"] = new Array; pagesnb["p2v0"][0] = new Array("p2v0r0", "14x21-bouffant-de 50 a 100 pages"); pagesnb["p2v0"][1] = new Array("p2v0r1", "14x21-bouffant-de 101 a 150 pages"); pagesnb["p2v0"][2] = new Array("p2v0r2", "14x21-bouffant-de 151 a 200 pages"); //14x21-offset pagesnb["p2v1"] = new Array; pagesnb["p2v1"][0] = new Array("p2v1r0", "14x21-offset-de 50 a 100 pages"); pagesnb["p2v1"][1] = new Array("p2v1r1", "14x21-offset-de 101 a 150 pages"); pagesnb["p2v1"][2] = new Array("p2v1r2", "14x21-offset-de 151 a 200 pages"); var pagescl = new Array; //A6-bouffant pagescl["p0v0"] = new Array; pagescl["p0v0"][0] = new Array("p0v0r0", "A6-bouffant-de 50 a 100 pages"); pagescl["p0v0"][1] = new Array("p0v0r1", "A6-bouffant-de 101 a 150 pages"); pagescl["p0v0"][2] = new Array("p0v0r2", "A6-bouffant-de 151 a 200 pages"); //A6-offset pagescl["p0v1"] = new Array; pagescl["p0v1"][0] = new Array("p0v1r0", "A6-offset-de 50 a 100 pages"); pagescl["p0v1"][1] = new Array("p0v1r1", "A6-offset-de 101 a 150 pages"); pagescl["p0v1"][2] = new Array("p0v1r2", "A6-offset-de 151 a 200 pages"); //11x17-bouffant pagescl["p1v0"] = new Array; pagescl["p1v0"][0] = new Array("p1v0r0", "11x17-bouffant-de 50 a 100 pages"); pagescl["p1v0"][1] = new Array("p1v0r1", "11x17-bouffant-de 101 a 150 pages"); pagescl["p1v0"][2] = new Array("p1v0r2", "11x17-bouffant-de 151 a 200 pages"); //11x17-offset pagescl["p1v1"] = new Array; pagescl["p1v1"][0] = new Array("p1v1r0", "11x17-offset-de 50 a 100 pages"); pagescl["p1v1"][1] = new Array("p1v1r1", "11x17-offset-de 101 a 150 pages"); pagescl["p1v1"][2] = new Array("p1v1r2", "11x17-offset-de 151 a 200 pages"); //14x21-bouffant pagescl["p2v0"] = new Array; pagescl["p2v0"][0] = new Array("p2v0r0", "14x21-bouffant-de 50 a 100 pages"); pagescl["p2v0"][1] = new Array("p2v0r1", "14x21-bouffant-de 101 a 150 pages"); pagescl["p2v0"][2] = new Array("p2v0r2", "14x21-bouffant-de 151 a 200 pages"); //14x21-offset pagescl["p2v1"] = new Array; pagescl["p2v1"][0] = new Array("p2v1r0", "14x21-offset-de 50 a 100 pages"); pagescl["p2v1"][1] = new Array("p2v1r1", "14x21-offset-de 101 a 150 pages"); pagescl["p2v1"][2] = new Array("p2v1r2", "14x21-offset-de 151 a 200 pages"); function filltheselect(liste, choix) {switch (liste) { case "listeformat": raz("listepapier"); raz("listepagesnb"); raz("listepagescl"); for (i=0; i<papier[choix].length; i++) { new_option = new Option(papier[choix][i][1],papier[choix][i][0]); document.formu.elements["listepapier"]. options[document.formu.elements["listepapier"].length]=new_option; } for (i=0; i<pagesnb[choix+"v0"].length; i++) { new_option = new Option(pagesnb[choix+"v0"][i][1],pagesnb[choix+"v0"][i][0]); document.formu.elements["listepagesnb"].options[document.formu. elements["listepagesnb"].length]=new_option; } for (i=0; i<pagescl[choix+"v0"].length; i++) { new_option = new Option(pagescl[choix+"v0"][i][1],pagescl[choix+"v0"][i][0]); document.formu.elements["listepagescl"].options[document.formu. elements["listepagescl"].length]=new_option; } break; case "listepapier": raz("listepagesnb"); raz("listepagescl"); for (i=0; i<pagesnb[choix].length; i++) { new_option = new Option(pagesnb[choix][i][1],pagesnb[choix][i][0]); document.formu.elements["listepagesnb"].options[document.formu. elements["listepagesnb"].length]=new_option; } for (i=0; i<pagescl[choix].length; i++) { new_option = new Option(pagescl[choix][i][1],pagescl[choix][i][0]); document.formu.elements["listepagescl"].options[document.formu. elements["listepagescl"].length]=new_option; } break; } } function raz(liste) {l=document.formu.elements[liste].length; for (i=l; i>=0; i--) document.formu.elements[liste].options[i]=null; } </script> </head> <body> <form name="formu"> Choisir un format <select name="listeformat" onChange='filltheselect(this.name, this.value)'> <script language="javascript"> for (i=0; i<format.length; i++) document.write("<option value=\"" +format[i][0]+ "\">" +format[i][1]); </script> </select> <br> Choisir un papier <select name="listepapier" onChange='filltheselect(this.name, this.value)'> <script language="javascript"> for (i=0; i<papier["p0"].length; i++) document.write("<option value=\"" +papier["p0"][i][0]+ "\">" +papier["p0"][i][1]); </script> </select> <br> Choisir le nombre de pages noir et blanc <select name="listepagesnb"> <script language="javascript"> for (i=0; i<pagesnb["p0v0"].length; i++) document.write("<option value=\"" +pagesnb["p0v0"][i][0]+ "\">" +pagesnb["p0v0"][i][1]); </script> </select> <br> Choisir le nombre de pages couleur <select name="listepagescl"> <script language="javascript"> for (i=0; i<pagescl["p0v0"].length; i++) document.write("<option value=\"" +pagescl["p0v0"][i][0]+ "\">" +pagescl["p0v0"][i][1]); </script> </select> <br> </body> </html>
A voir également:
- Javascript Calcul avec liste deroulante liéé
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Calcul moyenne excel - Guide
- Liste code ascii - Guide