Newsgroup: it.comp.lang.javascript
Titolo: mostrare la pre-selezione di un select

Ciao a tutto il NG,
Vorrei che un'opzione di un select fosse evidenziata come se fosse
selezionata. Ho provato con 
document.forms['xx'].nome_select.options[zz].selected=true;
e
document.forms['xx'].nome_select.options[zz].defaultSelected=true;
ma ugualmente non funziona sebbene il codice venga eseguito.
Avete qualche suggerimento?
Grazie,
alessandro

 selezionata. 
Cosa intendi? se è selezionata deve essere selezionata...non capisco bene
cosa vuoi ottenere. 
Puoi cambiare colore a una option, è questo che vuoi?
....options[zz].style.backgroundColor='red'; //?
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 ....options[zz].style.backgroundColor='red'; //?
Quando il user seleziona una option da un select, tale campo viene messo in
evidenza (spesso mettendo lo sfondo blu). Vorrei emulare questa cosa. Forse
mettendo selected=true e backgroundColor='giustaTonalitàDiBlu', si dovrebbe
ottenere lo stesso effetto (sia per l'utente che per il client) di una
selezione. Il punto è che dal valore di questo select dipende un altro
select, e, spesso, solo per valori diversi da quello di option[0] (il
primo) il secondo assume dei valori. Io ci metto poco a visualizzare solo i
dati del secondo select che si riferiscono alla prima option (del primo
select) buona diciamo option[2]. Devo però far notare all'utente che sta
visualizzando nel secondo select ciò che corrisponde alla option[2] del
primo select.
Spero di essere stato più chiaro,
Ale

In data Mon, 30 Jan 2006 14:37:36 +0100, XaNder ha scritto:
[CUT]
Mi spiace ma non capisco: se è selezionato è visibile ...
sentiamo gli altri se capiscono cosa stai chiedendo (cosa vuol dire
"emulare questa cosa"? La select si comporta già così ...)


 Mi spiace ma non capisco: se è selezionato è visibile ...
...è quello che pensavo anche io! se metto selected= true per una
determinata option, quella sarà evidenziata come quando la selezione viene
fatta dall'utente. Invece così non è (almeno su Firefox e Konqueror)...
Grazie comunque dell'impegno :-)
Ale

 fatta dall'utente. Invece così non è (almeno su Firefox e Konqueror)...
ok, ma è la prima visibile...non riesco proprio a capire il problema.
Vuoi colorare l'item selezionato?
onchange="this.options[this.selectedIndex].style.backgroundColor='red'"
//dovrai tener traccia dell'item selezionato perché dovrai togliere
manualmente il backcolor quando la selezione cambia
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

Grazie del tentativo di darmi retta, Cristiano. Purtroppo stavo analizzando
un caso in cui la prima scelta andava bene (e, giustamente, veniva
selezionata) mentre io pensavo di aver applicato il selected alla seconda
option.
Mea culpa. Ti chiedo scusa per averti fatto perdere tempo.
Grazie ancora,
Ale
P.S. Comunque l'esempio è simpatico.

 Avete qualche suggerimento?
Forse tu vuoi semplicemente mettegli il focus?!?
Prova con
document.forms['xx'].nome_select.focus();

(Non legato alla precedente domanda)
Come si può accedere alla proprieta (equivalente di) fgColor per il testo di
una option?
Non posso mettere
this.options[this.selectedIndex].style.backgroundColor='red'
come Cristiano Larghi ha suggerito in quanto le option sono generate
dinamicamente. Ho provato con
document.forms['nome_form'].nome_select.options[zz].style.backgroundColor='red';
ma non funziona. (in realtà questa dovrebbe cambiare background... ma non lo
fa). Probabilmente ho sbagliato io, ma non so dove (è poco che mi diletto
con JS).

 una option?
Riprendendo il tuo codice, semplicemente:
this.options[this.selectedIndex].style.color="red";
Bada bene che fintanto che č selezionata il cambio di colore non lo vedi.
-- 
- Venimmo, vedemmo... e lo inculammo!

 ma non funziona. 
Che è quel zz? E' corretto (in generale), zz è la posizione della option
nella select.
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

 nella select.
Esatto.
Forse faccio un po' di confusione io con il DOM o forse style non può essere
applicato ad option...
Non saprei

 document.forms['nome_form'].nome_select.options[zz]= new Option(nome[zz],
se "this" non punta alla select in questione, e selectedIndex non è l'indice
della option che ti interessa colorare, basta cambiare i due riferimenti:
document.forms.nome_form.nome_select.options[zz].style.color="red";
 
-- 
- Se tu un Dio?
- N...no.
- E allora MUORI!
- Ray, se qualcuno ti chiede se sei un Dio, tu devi rispondere di sì!