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

    Select multiple controllo numero massimo elementi selezionati

    salve a tutti come posso controllare che il numero di elementi selezionati in una select multipla non superi le 5 unità ?

    c'è inoltre un modo per deselezionare tutti gli elementi ?
    intendo dire una volta selezionato un elemento non è più possibile deselezionarlo semplicemente cliccandoci sopra

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao brutusin,

    dovresti memorizzare da qualche parte le options selezionate e all'onchage della select conti se le options selezionate superano il numero massimo consentito, in tal caso reimposti le options selezionate con quelle memorizzate.... è più complicato a spiegare che a fare
    codice:
    <script type="text/javascript">
    var arrSelect=new Array(); //array definito globalmente per memorizzare le options selezionate
    
    function MaxOption(ss,n){
    	var i,tot=0
    	for(i=0;i<ss.options.length;i++)
    		if(ss.options[i].selected)tot++
    	if(tot>n)
    		for(i=0;i<ss.options.length;i++)
    			ss.options[i].selected=arrSelect[ss.name][i]
    	var opt=new Array();
    	for(i=0;i<ss.options.length;i++)
    		opt[opt.length]=ss.options[i].selected
    	arrSelect[ss.name]=opt
    }
    </script>
    da usare così
    codice:
    <select name="NomeSelect" multiple="true" size="10" onchange="MaxOption(this,5)">
    	 <option value="1">uno</option>
    	 <option value="2">due</option>
    	 <option value="3">tre</option>
    	 <option value="4">quattro</option>
    	 <option value="5">cinque</option>
    	 <option value="6">sei</option>
    	 <option value="7">sette</option>
    	 <option value="8">otto</option>
    	 <option value="9">nove</option>
    	 <option value="10">dieci</option>
    </select>
    per deselezionare tutti gli elementi devi clickare sulla option selezionata tenendo premuto il tasto [Ctrl]

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.