Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    select

    Salve, vi sottopongo questo problema:

    devo fare una pagina asp in cui l'utente può comprare 4 prodotti, verificare la somma del peso, della larghezza, e lunghezza dei prodotti selezionati per la spedizione.

    In una pagina ASP dovrei fare una form composta da 4 select basate tutte sulla stessa tabella PRODOTTI con i campi NOME-LUNGHEZZA-LARGHEZZA-PESO .

    Nella select visualizzo il campo NOME,ho bisogno che per ogniselect quando l'utente sceglie un valore del NOME,vengano visualizzati in campi 3 TEXT (3 CAMPI messi di fianco ad ogni select) i valori corrispondenti al record scelto,CON I VALORI di LUNGHEZZA-LARGHEZZA E PESO. ESEMPIO:

    (SELECT ACCIAIO) - (LUNG.)3.5 - (LARG)2.1 -(PESO) 300

    Quando l'utente cambia il valore NOME di una dell select per provare un altro prodotto gli altri valori(compresi i valori dei campi text dei totali) si devono aggiornare automaticamente.tutto questo per ogni select.

    Inoltre devo avere per ogni VALORE un campo TEXT(LUNG.-LARG.-PESO)dei campi per le somme totali.(esempio)

    select lunghezza larghezza peso

    ACCIAIO - (LUNG.)3.5 - (LARG)2.1 -(PESO) 300
    RAME - (LUNG.)3.7 - (LARG)2.1 -(PESO) 300
    ZINCO - (LUNG.)3.5 - (LARG)2.1 -(PESO) 300
    FERRO - (LUNG.)3.5 - (LARG)2.1 -(PESO) 300

    TOTALI : 14.2 8.4 1.200


    Ho iniziato a provare con lo script che segue ma riesco solo a mettere tutti i valori del record in un solo campo text, sono molto lontano dalla soluzione


    <form name="uno" >
    <%
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    ......
    dim sq
    sq="SELECT * FROM prodotti "
    dim rsa
    Set rsa = Server.CreateObject("ADODB.Recordset")
    rsa.Open sq, conn%>
    <select name="pr" onchange="document.uno.text.value = document.uno.pr.value;">
    <%
    Do While Not rsa.EOF
    %>
    <option value="<%=rsa("peso")%><%=rsa("lunghezza")%><%=rsa ("larghezza")%>"><%=rsa("nome")%></option>

    <%rsa.MoveNext
    loop%>
    </select>

    <input type="text" name="text" size="10">
    <%
    rsa.close
    set rsa=nothing%>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ciao, x l' asp non ti posso aiutare,
    se ho capito quello che vuoi fare potresti risolvere in tanti modi diversi,
    personalmente preferirei non far scrivere nelle option tutti i dati,
    ma tenerli già in array di javascript
    codice:
    <html> 
    <head> 
    <title></title> 
    <style type=text/css> 
    input {
    	width:70px;
    }
    </style> 
    <script language="javascript" type="text/javascript">
    
    // numero di select da usare
    var tot_sel=2;
    var mod;
    var mat=new Array();
    
    function r_tot(prop){
    	for(var tot=0, k=0;k<tot_sel;k++){
    		if(mod.elements[prop+k].value!='') tot+=parseFloat(mod.elements[prop+k].value);
    	}
    	return Math.round(tot*100)/100;
    }
    
    function totali(){
    	mod.lung_tot.value=r_tot('lung');
    	mod.larg_tot.value=r_tot('larg');
    	mod.peso_tot.value=r_tot('peso');
    }
    
    function riempiText(sel, idx, val){
    	mod=document.mioform;
    	if(mat[idx]==null) mat[idx]=val.split("|");
    	mod.elements['lung'+sel].value=mat[idx][0];
    	mod.elements['larg'+sel].value=mat[idx][1];
    	mod.elements['peso'+sel].value=mat[idx][2];
    	totali();
    }
    
    function init(){
    	mod=document.mioform;
    	for(var k=0;k<tot_sel;k++){
    		riempiText(k, mod.elements['sel'+k].selectedIndex, mod.elements['sel'+k].options[mod.elements['sel'+k].selectedIndex].value)
    	}
    }
    
    </script>
    </head>
    <body>
    <form name="mioform">
    <table border="0" cellspacing="3" cellpadding="0">
    <tbody>
    <tr><th>nome</th><th>lunghezza</th><th>larghezza</th><th>peso</th></tr>
    <tr>
    <td>
    <select name="sel0" onchange="riempiText(0, this.selectedIndex, this.options[this.selectedIndex].value)">
    <option value="3.5|2.1|300" selected="selected">acciaio</option>
    <option value="3.7|2.0|276">rame</option>
    <option value="3.4|1.9|305">zinco</option>
    <option value="3.5|2.2|300">ferro</option>
    </select>
    </td>
    <td><input type="text" name="lung0" value"" /></td>
    <td><input type="text" name="larg0" value="" /></td>
    <td><input type="text" name="peso0" value="" /></td>
    </tr>
    <tr>
    <td>
    <select name="sel1" onchange="riempiText(1, this.selectedIndex, this.options[this.selectedIndex].value)">
    <option value="3.5|2.1|300">acciaio</option>
    <option value="3.7|2.0|276" selected="selected">rame</option>
    <option value="3.4|1.9|305">zinco</option>
    <option value="3.5|2.2|300">ferro</option>
    </select>
    </td>
    <td><input type="text" name="lung1" value"" /></td>
    <td><input type="text" name="larg1" value="" /></td>
    <td><input type="text" name="peso1" value="" /></td>
    </tr>
    <tr>
    <td colspan="4"><hr /></td>
    <tr>
    <td align="center">totali
    <td><input type="text" name="lung_tot" value="" /></td>
    <td><input type="text" name="larg_tot" value="" /></td>
    <td><input type="text" name="peso_tot" value="" /></td>
    </tr>
    </tbody>
    </table>
    </form>
    <script language="javascript" type="text/javascript">init()</script>
    </body> 
    </html>

  3. #3
    Salve,

    a me serve uno script molto simile a quello che ha fatto Xinod qui sopra, ma più semplice, ovvero per ogni select ho solo il campo testo da sommare in un textfield a fine pagina.

    in pratica ho una ventina di select, che rappresentano la scelta di prodotti, per ogni prodotto ho il valore prezzo e vorrei creare un campo che tiene il conto dell totale dei prezzi di tutti i prodotti selezionati.

    come posso adattare questo script ??
    Grazie
    www.numeroverde800.com Numero Verde per le aziende.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.