Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    668

    recuperare valori multipli dalle select

    Ciao,

    ho una select che offre la possibilità all'utente di selezionare piu di un campo. Come posso recuperare i valori selezionati?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se non prevedi problemi di prestazioni, puoi ciclare per tutte le option e verificare se siano selected o meno
    codice:
    function getSelectedValues(sel){
    	var selectedValues='';
    	for(var i=0;i<sel.options.length;i++){
    		if(sel.options[i].selected){
    			selectedValues+=((selectedValues!='')?',':'')+sel.options[i].value;
    		}
    	}
    	alert(selectedValues);
    }
    codice:
    <form>
    <select name="numbers" multiple="multiple" onchange="getSelectedValues(this)">
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
    <option value="4">Four</option>
    <option value="5">Five</option>
    </select>
    </form>
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    668
    grazie mille lo provo..

    non esiste nessun altro modo?..Praticamente fammi capire la option genera un array quando è multipla e tu lo cicli in un for estraendo i dati indice per indice..giusto?

    grazie

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ciclo per tutte le option verificando che siano selezionate,
    per questo puoi avere rallentamenti con select molto molto lunghe

    mi risulta esistere un altro sistema, puoi provarlo da solo
    http://www.digitalamit.com/blog/blog/23.html

    ciao

  5. #5
    Anche se il post è un po' vecchio ringrazio comunque per lo spunto.

    Ho usato lo script di Xinod per recuperare l'array di una select multipla. Funziona bene.. solo che riesco a vedere l'array esclusivamente con l'alert.
    Codice PHP:
    alert(selectedValues); 
    Se invece l'array lo volessi passare al browser in questo modo:

    Codice PHP:
    window.location.href=index.php?myvar=....... 
    come dovrei fare? Ho qualche problema con la sintassi.

    Grazie

  6. #6
    mi rispondo da solo.. magari servirà a qualcunaltro:

    uso 'onblur=' per l'evento;
    alla fine della funzione metto:
    Codice PHP:
    window.location.href='index.php?myvar='+(selectedValues); 
    e cliccando fuori dalla select ( o su un pulsante "scegli" ) ottengo i valori dell'array nella barra del browser separati da virgola.

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.