Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Prendere valore testo da una select in un ciclo

    Salve,
    utilizzo questa select in un ciclo dove può essere richiamata più volte sempre la stessa select.
    e non potendo modificare il nome, volevo prelevare il testo selezionato (es 01, 02, 03) della select e non il valore da ogni select del ciclo.
    In pratica il campo hidden deve racchiudere il "testo" selezionato da tutte le select del ciclo.
    Tipo:01,06,04,05 etc
    codice:
     
    
    <select name="supplemento" class="supplemento<%=rs.fields("id")%>" onchange="aggiornaHidden(this)" size="1">
    <option value="primo" >01</option>
    <option value="secondo">02</option>
    <option value="terzo" >03</option>
    <option value="quarto" >04</option>
    <option value="quinto" >05</option>
    <option value="sesto" >06</option>
    <option value="settimo" >07</option>
    <option value="ottimo" >08</option>
    <option value="nono" >09</option>
    <option value="decimo" >10</option>
    </select>
    
    
    <INPUT type="hidden" name="supplemento">
    Avevo provato questo script:
    codice:
    <SCRIPT type="text/javascript">
     function aggiornaHidden(sel){
      var f = document.NOMEFORM;
      f.supplemento.value = sel.options[sel.selectedIndex].text;
     }
    </SCRIPT>
    Ma mi da solo le virgole di separazione ma non il "testo" delle select selezionate.
    Dove sbaglio?
    Grazie
    G.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, non mi è troppo chiaro. Stai usando lo stesso name="supplemento" sia per la select sia per l'input hidden, probabilmente questo è un primo problema. Non ho capito se ti riferisci a questo quando indichi che non puoi modificare il nome.

    Ad ogni modo, se non ho capito troppo male, potresti risolvere con una roba del genere:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script type="text/javascript">
          function aggiornaHidden(){
            var sel = document.getElementsByName('supplemento');
            var arr = [];
            for (var i = 0; i<sel.length; i++){
              arr.push(sel[i].options[sel[i].selectedIndex].text)
            }
            tuoform.valoriselect.value = arr.join();
          }
        </script>
      </head>
      <body>
        <select name="supplemento" onchange="aggiornaHidden()" size="1">
        <option value="primo" >01</option>
        <option value="secondo">02</option>
        <option value="terzo" >03</option>
        <option value="quarto" >04</option>
        <option value="quinto" >05</option>
        <option value="sesto" >06</option>
        <option value="settimo" >07</option>
        <option value="ottimo" >08</option>
        <option value="nono" >09</option>
        <option value="decimo" >10</option>
        </select>
        
        <select name="supplemento" onchange="aggiornaHidden()" size="1">
        <option value="primo" >01</option>
        <option value="secondo">02</option>
        <option value="terzo" >03</option>
        <option value="quarto" >04</option>
        <option value="quinto" >05</option>
        <option value="sesto" >06</option>
        <option value="settimo" >07</option>
        <option value="ottimo" >08</option>
        <option value="nono" >09</option>
        <option value="decimo" >10</option>
        </select>
        
        <select name="supplemento" onchange="aggiornaHidden()" size="1">
        <option value="primo" >01</option>
        <option value="secondo">02</option>
        <option value="terzo" >03</option>
        <option value="quarto" >04</option>
        <option value="quinto" >05</option>
        <option value="sesto" >06</option>
        <option value="settimo" >07</option>
        <option value="ottimo" >08</option>
        <option value="nono" >09</option>
        <option value="decimo" >10</option>
        </select>
        
        <form name="tuoform">
          <input name="valoriselect">
        </form>
    
      </body>
    </html>
    Alla funzione non serve passare alcun parametro perché tanto andranno ciclate tutte le select ogni volta.
    Ho lasciato l'input visibile per vederne il risultato.

    Se non è ciò che hai chiesto, fornisci maggiori dettagli.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Perfetto, proprio quello che mi serviva, grazie 1000 killerworm

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.