Visualizzazione dei risultati da 1 a 8 su 8

Discussione: deselezionare select

  1. #1

    deselezionare select

    Ciao a tutti.

    Ho quattro select.
    Voglio che, all'OnChange di una di loro, alle altre venga assegnato il valore "0".


    Quindi ho messo:

    codice:
    <select name="video" onChange="deselectothers(this)">
    premesso che con javascript vado un po' alla cieca, ho provato con questa funzione:

    codice:
    function deselectothers(myselect) {
     var d=document.getElementsByTagName('select');
     	for(var i=0; i<d.length; i++) {
    		if (d.name != myselect) {
    			d.value == '';
    		}
    	}
    }

    C'è almeno QUALCOSA di giusto in quello che ho fatto?!?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924

    Re: deselezionare select

    Originariamente inviato da bECH
    Ciao a tutti.

    Ho quattro select.
    Voglio che, all'OnChange di una di loro, alle altre venga assegnato il valore "0".
    se per valore 0 intendi la prima opzione allora prova questa se era ciò che intendevi

    codice:
    function deselectothers(myselect) {
     var d=document.getElementsByTagName('select');
     	for(var i=0; i<d.length; i++) {
    		if (d[i].name != myselect) {
    			d[i].selectedIndex = 0;
    		}
    	}
    }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    grazie mille!

    Però mi imposta a "0" anche la select che sto utilizzando.
    In altre parole non mi prende la condizione
    codice:
    if (d[i].name != myselect)
    Ma la passo nel modo giusto, la variabile?

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    come chiami la funzione??

    e come si chiamano le varie selct??
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Queste le select:

    codice:
    <select name="video" onChange="deselectothers(this)">
    <option value=""></option>
    <option value="Attori">Attori</option>
    <option value="Operatori video">Operatori video</option>
    </select>
    
    
    <select name="grafica" onChange="deselectothers(this)">
    <option value=""></option>
    <option value="Fotografi">Fotografi</option>
    </select>
    
    
    <select name="scenografia" onChange="deselectothers(this)">
    <option value=""></option>
    <option value="Allestitori">Allestitori</option>
    <option value="Arredatori">Arredatori</option>
    </select>

    Questa la funzione chiamata:
    codice:
    function deselectothers(myselect) {
    	var d=document.getElementsByTagName('select');
     		for(var i=0; i<d.length; i++) {
    			if (d[i].name != myselect) {
    				d[i].selectedIndex = 0;
    			}
    		}
    }

  6. #6
    Forse un errore l'ho trovato ma non risolve: ho cambiato la funzione così:

    codice:
    function deselectothers(myselect) {
    	var c=document.myselect.name
     	var d=document.getElementsByTagName('select');
     		for(var i=0; i<d.length; i++) {
    			if (d[i].name != c ) {
    				d[i].selectedIndex = 0;
    			}
    		}
    }

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    la funzione andava bene com'era prima ma...


    codice:
    onChange="deselectothers(this.name)

    this è la select stessa (intesa come nodo del DOM): quindi se vuoi il nome usa this.name
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Perfetto, funzia benissimo. Grazie mille!!!

    P.S.: ma allora non c' ero tanto lontano !!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.