Scrivere in un DIV in base alle scelte fatte in due select

navajo75

Utente Attivo
16 Mar 2012
103
1
18
Ciao a tutti,

tempo fa ho avuto la necessità di stampare il prezzo in un DIV, a seconda di ciò che viene scelto da un menù a tendina "quantità" e da uno "modello".
Insomma, in base alla quantita ed al modello scelti si determina un prezzo.
Premetto di non essere un programmatore e quindi ero riuscito a trovare una soluzione, grazie ad un aiuto ed era venuta fuori una cosa del genere:

HTML:
<script type="text/javascript">
  function calcola(mod,qt){   
  var m = parseFloat(mod.options[mod.selectedIndex].value.split("|")[1])   
  var q = parseInt(qt.options[qt.selectedIndex].value)   
  var valuta = "€ ";   
  var operazione = (m*q);     
  var zeri = ",00";   
  var somma = valuta+operazione+zeri;    
  document.getElementById('prezzo').innerHTML=somma;   document.getElementById('price').value=operazione; }
</script>

<div id="campo_quantita">           
  <label>           
    <select name="quantita" id="quantita" onchange="if(this.options.selectedIndex!=0 &&    document.getElementById('modelloprezzo').options.selectedIndex!=0 ){calcola(document.getElementById('modelloprezzo'), this)}">             
      <option value="seleziona">Quantità</option>             
      <option value="100">100</option>             
      <option value="200">200</option>             
      <option value="300">300</option>             
      <option value="500">500</option>             
      <option value="1000">1.000</option>           
    </select>           
  </label>         
</div>

<div id="campo_modello">           
  <label>           
    <select name="modelloprezzo" id="modelloprezzo" onchange="if(this.options.selectedIndex!=0 && document.getElementById('quantita').options.selectedIndex!=0){calcola(this, document.getElementById('quantita'))}">            
      <option value="seleziona">Modello</option>             
      <option value="Senza lembi|1.2">Senza lembi</option>            
      <option value="Un lembo|1.3">Un Lembo</option>             
      <option value="Due lembi incollati|1.6">Due lembi incollati</option>      
</select>           
</label>         
</div>

<div id="prezzo">€ 0,00</div>

Ha funzionato, fintantochè il prezzo raddoppiava, triplicava ecc... a seconda della quantità selta. Sarebbe a dire se 100 pezzi costano 120, 200 costano 240, 300 costano 360 e così via.
Ora però il mio cliente mi ha fornito i prezzi definitivi e 100 pezzi costano 120, 200 costano 160, 300 costano 195, 500 costano 260 e 1000 costano 390.
Come posso fare?

Saluti,
Marco
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
forse ti basta aggiornare i value delle option

HTML:
<option value="120">100</option>             
            <option value="160">200</option>             
            <option value="195">300</option>             
            <option value="260">500</option>             
            <option value="390">1.000</option>
 

navajo75

Utente Attivo
16 Mar 2012
103
1
18
Grazie per la tua risposta, ma purtroppo non è così semplice.
Questo è ciò che dovrebbe risultare...

Senza lembi:
100 pezzi = € 120
200 pezzi = € 160
300 pezzi = € 195
500 pezzi = € 260
1000 pezzi = € 390

Un lembo:
100 pezzi = € 130
200 pezzi = € 180
300 pezzi = € 225
500 pezzi = € 295
1000 pezzi = € 450

Due lembi incollati:
100 pezzi = € 160
200 pezzi = € 225
300 pezzi = € 290
500 pezzi = € 430
1000 pezzi = € 690

Saluti,
Marco
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
puoi provare mettendo i var prezzi in un array
la funzione javascript :
Codice:
<script type="text/javascript">
    function calcola(mod,qt){   
        var prezzi = new Array(
        "120,160,195,260,390",
        "130,180,225,295,450",
        "160,225,290,430,690");
        
        var m = mod.options[mod.selectedIndex].value;   
        var q = qt.options[qt.selectedIndex].value;   
        
        var p = prezzi[m].split(',');
        var prezzo = p[q];
        
        document.getElementById('prezzo').innerHTML="&euro; " + prezzo + ",00";  
    }
</script>
i value cambieranno cosi :
Codice:
<option value="seleziona">Quantit&aacute;</option>             
            <option value="0">100</option>             
            <option value="1">200</option>             
            <option value="2">300</option>             
            <option value="3">500</option>             
            <option value="4">1.000</option>

Codice:
<option value="seleziona">Modello</option>             
            <option value="0">Senza lembi</option>            
            <option value="1">Un Lembo</option>             
            <option value="2">Due lembi incollati</option>
 

navajo75

Utente Attivo
16 Mar 2012
103
1
18
GRANDE!!!
FUNZIONA!!!
Un'info... credo che il mio cliente vorrà aggiungere un altro modello, con però solo due prezzi e due quantità (500 e 1000).
Prevedo d'incasinarmi, qualora mi avanzasse questa richiesta.
Posso in caso riagganciarmi a questo thread, sperando nel tuo aiuto o ne dovrò aprire uno nuovo.

Grazie ancora per lo straordinario aiuto.
Saluti,
Marco
 
Discussioni simili
Autore Titolo Forum Risposte Data
Cosina [PHP] Scrivere dati in un div specifico PHP 3
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
F Scrivere dei dati in word con php PHP 0
E Scrivere una data corrente in un pdf PHP 1
J Scrivere in due JPanel Java 1
R [C#] Scrivere un post in grassetto con Selenium su FB Mobile .NET Framework 0
N Scrivere su file PDF PHP 4
P textbox- scrivere tutto su una sola riga anche se si va a capo .NET Framework 2
alexice51 proggrammi per scrivere in javascript? Javascript 3
Drago73 [Java] leggere/scrivere txt server Java 0
C [PHP] Scrivere testo su immagine PHP 3
C [PHP] scrivere o aggiornare record in tabella PHP 7
spider81man Scrivere su file .txt da form php PHP 2
napuleone scrivere in un file <?php $variabile PHP 1
B Scrivere in una casella di testo una variabile PHP PHP 9
B [PHP] Scrivere risposta multipla in database PHP 1
B PHP e JQUERY per scrivere codice html dinamicamente PHP 2
crealatualista Scrivere in un file php aperto dal codice php! PHP 7
P [HTML] scrivere il titolo di una pagina nella pagina stessa, si può? HTML e CSS 3
Y scrivere file in ascii PHP 1
S Come inserire file in database Mysql senza scrivere codice PHP? PHP 0
A Scrivere da pagina .php su altra pagina .html PHP 4
V Array da scrivere PHP 2
L Scrivere valori nel campo INPUT TEXT a seconda della SELECT Javascript 0
E scrivere nome immagine su db PHP 2
M Come scrivere CSS da un template in Photoshop(.PSD)? HTML e CSS 5
I scrivere solo il percorso (e nome file) di un file allegato (type="file") PHP 1
E Cercare un valore e scrivere tutta la riga txt che lo contiene PHP 15
filippino Link per scrivere un'email HTML e CSS 1
S Far scrivere un testo ad un utente registrato..... PHP 3
L Come far commentare/scrivere agli altri utenti?? Windows e Software 10
A Java: Scrivere su un file senza sovrascriverlo Java 1
S richiesta permessi per scrivere nelle sezioni Supporto Mr.Webmaster 0
S scrivere e-mail in html Posta Elettronica 6
criric Effetto macchina da scrivere Snippet Javascript 0
P Scrivere delle matrici su file csv PHP 2
4 in asp si puo scrivere così? Classic ASP 1
M Scrivere contenuto variabile su txt PHP 3
M Script per scrivere la data su vari file immagine PHP 12
N Scrivere in campo nascosto Javascript 1
IImanuII Scrivere su un file php PHP 7
maxbossi [LEGGERE] Perchè NON ho il permesso di scrivere in questa sezione? Presenta il tuo Sito 0
B Scrivere articolo con joomla Joomla 2
D Scrivere un'espressione condizionale in Access Visual Basic 0
M MyReviews.it se ami scrivere Presenta il tuo Sito 8
V Effetto macchina da scrivere Javascript 3
F scrivere con le variabili php su dreamweaver PHP 3
T Scrivere il contenuto di un database in un file di testo PHP 2
B Scrivere l'html Javascript 1
S leggere da file e scrivere su file un carattere o una parola alla volta Visual Basic 1

Discussioni simili