Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Impostare sfondo option di una select

    Salve,
    è possibile ottenere questo risultato? In pratica serve impostare solo all'option selezionata (quindi visualizzata) con un colore di sfondo.

    codice:
    <select>
    <option value="0" >ZERO</option>
    <option (SFONDO) value="1" selected>UNO</option>
    </select>
    Ho provato in css ma senza risultati.
    Potete aiurarmi?
    Grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Facci vedere la tua prova...

    <option style="background-color:red;">pippo</option>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    http://www.sertransfer.com/test.html

    Come si vede viene visualizzato l'option selezionata (UNO) ma senza sfondo rosso, mentre se apro la select e mi sposto sull'altra opzione vedo lo sfondo colorato.
    Però vorrei vedere lo sfondo rosso nella posizione selezionata cioè come è ora, senza aprire la select.
    Grazie

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quando non stai scegliendo vedi l'oggetto select e non gli oggetti option, se provi a cambiare il colore all'oggetto select, essendo esso il contenitore delle option, quando riaprirai le option le vedrai tutte del colore del select
    prova:
    codice:
    <select onchange="this.style.backgroundColor=this.options[this.selectedIndex].style.backgroundColor;">
    <option value="0" >ZERO</option>
    <option style="background-color:red;" value="1" selected>UNO</option>
    </select>
    ... quindi ... potrebbe non essere possibile in modo cosi' semplice, ritengo tu debba usare un controllo che simuli il comportamento di una select per ottenere il risultato che cerchi.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    mettendo il tag span...la option apparirà' rossa se selezionata
    prova...
    codice:
    <option value="0" >ZERO</option>
    <option style="background-color:red;" value="1" selected><span >UNO</span></option>
    </select>
    Vic53

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Chiedo a br1 se può consigliarmi una alternativa, in pratica il valore della select deve subito attrarre l'attenzione se selezionata una determinata option...
    Ho provato l'inserimento del tag span consigliato da vic53 ma non visualizzo cambiamenti (vedere link alla select indicata su)

  7. #7
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    Chiedo a br1 se può consigliarmi una alternativa, in pratica il valore della select deve subito attrarre l'attenzione se selezionata una determinata option...
    Ho provato l'inserimento del tag span consigliato da vic53 ma non visualizzo cambiamenti (vedere link alla select indicata su)
    l'opzione UNO se non selezionata è rossa quando la tendina è aperta...quando invece il cursore è sopra
    prevale il colore della selezione...
    Ma se hai per esempio 10 elementi e vuoi far vedere uno rosso quello quando apri la tendina lo vedi.... poi quuando ci vai col cursore sopra la select imposta il suo color default per far vedere che è selezionata...
    Quando poi lo selezioni e confermi poi puoi far diventare la select rossa...
    oppure cerchi una altra cosa?
    Vic53

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    però se è lo trovo già selezionato lo vedo con lo sfondo classico (vedi pagina test)

  9. #9
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    ok ti ho modificato l'esempio di prima prova questo
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript">
    function Test() {
     test1.style.backgroundColor=test1.options[test1.selectedIndex].style.backgroundColor;
     test1.options[0].style.backgroundColor="white";
     test1.options[1].style.backgroundColor="red";
     test1.options[2].style.backgroundColor="green";
     test1.options[3].style.backgroundColor="gray";
    }
    function PreimpostaColore() {
     var arr = new Array("white","red","green","gray");
    // sono i valori delle option impostate 
     var valore=document.getElementById("test1").value;
     test1.style.backgroundColor=arr[valore];
    
    }
    </script>
    </head>
    <body onload="PreimpostaColore()">
    <p> 
    <select id="test1"  onclick="Test()"  >
    <option  value="0" style="background-color:white;" >ZERO</option>
    <option  value="1" style="background-color:red;" selected><span >UNO</span></option>
    <option  value="2" style="background-color:green;" value="1"   ><span >DUE</span></option>
    <option  value="3"  style="background-color:gray;"><span >TRE</span></option>
    </select>
    </p>
    </body>
    </html>
    Vic53

  10. #10
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    però se è lo trovo già selezionato lo vedo con lo sfondo classico (vedi pagina test)
    ciao
    vedi questa modifica che ti ho fatto
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript">
    function Test() {
     test1.style.backgroundColor=test1.options[test1.selectedIndex].style.backgroundColor;
     test1.options[0].style.backgroundColor="white";
     test1.options[1].style.backgroundColor="red";
     test1.options[2].style.backgroundColor="green";
     test1.options[3].style.backgroundColor="gray";
    }
    function PreimpostaColore() {
     var arr = new Array("white","red","green","gray");
    // sono i valori delle option impostate 
     var valore=document.getElementById("test1").value;
     test1.style.backgroundColor=arr[valore];
    
    }
    </script>
    </head>
    <body onload="PreimpostaColore()">
    <p> 
    <select id="test1"  onclick="Test()"  >
    <option  value="0" style="background-color:white;" >ZERO</option>
    <option  value="1" style="background-color:red;" selected><span >UNO</span></option>
    <option  value="2" style="background-color:green;" value="1"   ><span >DUE</span></option>
    <option  value="3"  style="background-color:gray;"><span >TRE</span></option>
    </select>
    </p>
    </body>
    </html>
    magari ci ricavi il codice che ti serve...
    ciao
    Ultima modifica di vic53; 24-05-2016 a 15:10 Motivo: msg doppio perche' non mi visualizzava l'invio
    Vic53

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.