Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    20

    problema annoso con select multiple

    Mi permetto di scrivere un nuovo messaggio, sebbene io abbia posto lo stesso interrogativo all'interno di un'altra discussione, perchè penso che chi (come me) ha questo problema non riesce a venirne fuori:

    Se imposto un select come multiple (perchè, ad esempio, non voglio che si apra una tendina di dimensione variabile e voglio invece fissarne le dimensioni) e seleziono un'option al suo interno, questa non sarà mostrata in evidenza al ricaricamento della pagina all'interno del select.
    Mi spiego meglio: in un select a tendina l'option selected (giustamente, essendo una e non tante) viene posta in primo piano, mentre in un select multiple (diciamo, di size=1) questo non accade.
    Le domande che vorrei porre, quindi, e che hanno per me la stessa valenza, sono queste due:

    1) Esiste una maniera per fissare la dimensione di un select singolo, in modo che sia ESTETICAMENTE uguale ad un multiple (cioè, con la dimensione fissata e le frecciuzze alto e basso)?

    2)Esiste una maniera per portare in evidenza la prima delle option selezionate di un select multiple (che appaia, quindi, in primo piano in un select multiple con size=1)?

    Non riesco a trovare trucchetti o espedienti per ovviare a questo problema, vi prego gentilmente di darmi una mano.

    Saluti ed ossequi a tutti voi, e grazie per la cortese attenzione.
    A quelli che mi danno una mano, grazie mille fin d'ora.
    Cia cia!
    Ciao, Fabris.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    20

    problema risolto!


    Ciao, belli. Per tutti quelli che avevano capito il mio problema, e soprattutto per quei pochi che forse l'avevano anche riscontrato, vorrei fornire la soluzione:

    Il fatto è che ogni option di un select (sia esso multiple o singolo) ha un attributo booleano selected che ne indica lo stato (selezionato o meno) e inoltre l'intero select ha l'attributo selectedIndex che indica una option particolare (che poi è quella che viene visualizzata al caricamento). Ovviamente, in un select singolo solo una option può essere selected, di conseguenza il selctedIndex coinciderà sempre con il suo indice e questa option verrà portata in primo piano automaticamente quando viene caricato il select.
    Nel select multiple, invece, ogni option può essere o non essere selezionata. Allora, se si vuole farne apparire una in primo piano, bisogna impostare il selectedIndex all'indice di quell'option all'interno dell'array nomeselect.options[], oltre che impostare selected a true per l'option stessa.

    Un esempio pratico chiarisce tutto:
    Se dobbiamo selezionare la decima option di un select multiple, e vogliamo che al caricamento della pagina questa sia evidenziata all'interno del select, bisogna: impostare l'attributo selected dell'option,tipo (in JavaSscript):
    nomeselect.options[10].selected=true;
    e quindi impostare l'indice del select (magari in una funzione chiamata onLoad del body) tipo:
    nomeselect.selectedIndex=10;

    Saluti a tutti, tolgo il disturbo.
    Ciao, Fabris.

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.