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

    Javascript

    Salve, devo rilevare le selezioni in una select a selezione multipla.
    Quando vado a leggere la selezione tramite

    document.getelementbyid("nomeselect").value;

    vedo però solo la prima, nonostante ve ne siano più di una.

    Dove sbaglio?

    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    217
    dovresti scorrere l' array delle opzioni e recuperare quelle selezionate, prova con una cosa del genere, dovrebbe recuperarti solo le opzioni selezionate

    codice:
    	function visualizza(){
    		var l= document.getElementsByName("nome_lista")[0].options;
    
    		for(c=0;c<l.length;c++)
    			if(l[c].selected)
    				alert(l[c].value);
    	}

  3. #3
    grazie per la risposta.
    funziona correttamente, anche se avevi dimenticato qualche parentesi:


    function visualizza(valore){
    var l= document.getElementsByName(valore)[0].options;

    for(c=0;c<l.length;c++){
    if(l[c].selected){
    alert(l[c].value);
    }
    }
    }

    io ho passato il nome della select come variabile.

    grazie davvero per il prezioso aiuto

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    217
    mi fa piacere che funzioni

    comunque se l' istruzione contenuta è una sola e non un blocco le parentesi non sono necessarie, quindi puoi scrivere sia

    codice:
    for(...;...;..)
     istruzione
    che
    codice:
    for(...;...;..){
     istruzione
    }
    il risultato non cambia

  5. #5
    scusa allora, come non detto
    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    217

  7. #7
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Considera la possibiltà di usare il metodo querySelectorAll: potrebbe semplificarti parecchio la vita&hellip;

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Esempio</title>
    <script type="text/javascript">
    function visualizza () {
    	// opzioniSelezionate e' una NodeList (https://developer.mozilla.org/en-US/docs/DOM/NodeList) contenente solo gli elementi selezionati
    	var opzioniSelezionate = document.modulo.nomeselect.querySelectorAll("option:checked");
    	alert(Array.prototype.join.call(opzioniSelezionate, " :: "));
    }
    </script>
    
    </head>
    <body>
    
    <form name="modulo">
    
    
    <select multiple name="nomeselect">
    	<option>Uno</option>
    	<option>Due</option>
    	<option>Tre</option>
    	<option>Quattro</option>
    </select></p>
    
    
    <span style="color: #ff0000; text-decoration: underline; cursor: pointer;" onclick="visualizza();">Preleva valori</span></p>
    </form>
    
    </body>
    </html>
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

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.