[Javascript] Select option in campi input

lelemkop

Utente Attivo
2 Lug 2013
55
0
6
Salve a tutti, ho questo codice che funziona benissimo
PHP:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
                <?php
                $host = 'localhost';
                $user = 'xxx';
                $pass = 'xxx';
                $db = 'xxx';
                $mysqli = new mysqli($host,$user,$pass,$db) or die($mysqli->error);
                $result = $mysqli->query("SELECT * FROM pacchetti order BY pacchetto, anima desc") or die($mysqli->error);?> 
                <div class="wrap-input100 input100-select"> 
                <span class="label-input100">Pacchetto</span> 
                <div>                       
                <select class="selection-2" name="pacchetto" id="pacchetto">
                <option value="">Scegli Pacchetto</option>
                <?php    while ($row = mysqli_fetch_array($result)) { 
                echo "<option value='" . $row['anima'] . "'>'" . $row['pacchetto'] . "'-'" . $row['anima'] . "'-'" . $row['ore'] . "'</option>"; 
                } 
                ?>   
                </select> 
                </div>       
                <span class="focus-input100"></span>
                </div> 
                <script>
                document.getElementById("pacchetto").onchange = function() 
                {
                var e = document.getElementById("pacchetto"); 
                var strUser = e.options[e.selectedIndex].value; 
                document.getElementById("numani").value = strUser;
                };</script>
                <div class="wrap-input100 validate-input" > 
                <span class="label-input100">Numero Anima</span>   
                <input class="input100" type="text" name="numani" id="numani" placeholder="Numero Animatori" value=""readonly required /> 
                <span class="focus-input100"></span>   
                </div>
                <div class="wrap-input100 validate-input" >       
                <span class="label-input100">Durata</span>
                <input class="input100" type="text" name="durata" id="durata" placeholder="Durata" >
                <span class="focus-input100"></span>
                </div>
In questo caso scelgo dalla select il campo di mio interesse e mette in automatico il valore di anima, volevo che inserisse anche il campo ore in durata.
Come posso fare?
Grazie
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
se la select del pacchetto serve solo per riempire i due campi e non viene usata successivamente,
la soluzione più semplice consiste nell'aggiungere le ore nel valore delle option
PHP:
echo "<option value='" . $row['anima'] . "'-'" . $row['ore'] . "'>'" . $row['pacchetto'] .......
alla selezione del pacchetto, la variabile "strUser" conterrà i due valori separati dal segno "-"

puoi modificare le righe che seguono, separando i due valori ed assegnando a ciascun input il suo valore specifico
Codice:
var strUser = e.options[e.selectedIndex].value;
document.getElementById("numani").value = strUser;
 

lelemkop

Utente Attivo
2 Lug 2013
55
0
6
Grazie per la celere risposta. ma anche modificando il value inserendo la modifica che mi hai suggerito, mi restituisce sempre il promo campo. in questo caso anima. Se inverto mi esce solo ore.

Ho messo le parentesi tonde e mi riporta nel campo numani le due variabili.
 

lelemkop

Utente Attivo
2 Lug 2013
55
0
6
allora ci siamo vicini.
Ho modificato come mi hai detto e la cosa inizia a funzionare bene.
Ultimo piccolo problema
PHP:
document.getElementById("numani").value = strUser[2];
document.getElementById("durata").value = strUser[6];
con questo codice le cifre a due e tre cifre non le vede.