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

    Aggiornare contenuto tramite select

    Salve, questo è ciò che vorrei ottenere:

    link a Pagina di Esempio

    dove, selezionando un valore nei menu, il campo del totale da distribuire viene aggiornato.
    i valori partono da -5 e ho associato una funzione all'evento onclick di ogni option, e una funzione all'evento onclick di ogni select.

    queste le funzioni utilizzate:
    Codice PHP:
    function calcola(v_dopo){
    // Prendo il valore dei punti totali
    nodes document.getElementById('PuntiTot').value;
    // Calcolo la differenza tra il valore precedente della select e quello appena cliccato
    var differenza v_dopo v_prima;
    nodes nodes differenza;
    // Assegno il rimanente dei punti al documento
    document.getElementById('PuntiTot').value nodes;
    }

    function 
    SelezionaDaValore(strNomeForm,strNomeSelect){
    // Prendo il valore del select che era selezionato, la variabile globale è v_prima
      
    var ss=document.forms[strNomeForm].elements[strNomeSelect];
      for(var 
    i=0;i<ss.options.length;i++)
        if(
    ss.options[i].selected==true)
          
    v_prima ss.options[i].value;

    e così assegnate alla select
    Codice PHP:
    <select name="Valore1" border=0 onclick="javascript:SelezionaDaValore(form1,Valore1);" >
            <
    option value="5" onclick="javascript:calcola(5);">+5</option>
            <
    option value="4" onclick="javascript:calcola(4);">+4</option>
            <
    option value="3" onclick="javascript:calcola(3);">+3</option>
            <
    option value="2" onclick="javascript:calcola(2);">+2</option>
            <
    option value="1" onclick="javascript:calcola(1);">+1</option>
            <
    option value="0" onclick="javascript:calcola(0);">0</option>
                ...
                ...
    </
    select
    purtroppo non riesco a assegnare i giusti eventi alle funzioni, infatti al momento non funziona. Vorrei dei consigli, perchè so che è sbagliata la disposizione degli eventi, ma non so come correggerla.

  2. #2
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    io proverei con una cosa del tipo
    codice:
    <script>
    function CalcoloPunti(myOne){
     var utilizzati = document.getElementById(myOne).value;
     var totale = document.getElementById('PuntiTot').value; 
     var rimanenti = (totale*1)-(utilizzati*1);
     if(myOne=='Valore1'){
      aggiornaCampo('Valore2', rimanenti);
      aggiornaCampo('Valore3', rimanenti);
     }else if(myOne=='Valore2'){
      aggiornaCampo('Valore1', rimanenti);
      aggiornaCampo('Valore3', rimanenti);
     }else if(myOne=="Valore3"){
      aggiornaCampo('Valore1', rimanenti);
      aggiornaCampo('Valore2', rimanenti);
     }
    }
    
    function aggiornaCampo(quale, quanti){
    //e qui ripopoli le select, hai l'id del select e i punti rimanenti da assegnare
    }
    </script>
    
    <select name="Valore1" border=0 onChange="CalcoloPunti('Valore1')" >
            <option value="5">+5</option>
            <option value="4">+4</option>
            <option value="3">+3</option>
            <option value="2">+2</option>
            <option value="1">+1</option>
            <option value="0">0</option>
                ...
                ...
    </select>
    <select name="Valore2" border=0 onChange="CalcoloPunti('Valore2')" >
            <option value="5">+5</option>
            <option value="4">+4</option>
            <option value="3">+3</option>
            <option value="2">+2</option>
            <option value="1">+1</option>
            <option value="0">0</option>
                ...
                ...
    </select>
    <select name="Valore3" border=0 onChange="CalcoloPunti('Valore3')" >
            <option value="5">+5</option>
            <option value="4">+4</option>
            <option value="3">+3</option>
            <option value="2">+2</option>
            <option value="1">+1</option>
            <option value="0">0</option>
                ...
                ...
    </select>
    ma in questo modo ogni volta che cambi valore ti azzera gli altri 2 select..tramite degli hidden field dovresti controllare che una volta settato un valore, non venga resettato dalla selezione dopo..

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  3. #3
    Ingegnosa come soluzione, non ci avevo pensato.
    adesso provo ad inserire gli hiddenfields ed eseguire qualche controllo, grazie per i consigli

    Spero di riuscire, seguiranno aggiornamenti

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.