Visualizzazione dei risultati da 1 a 5 su 5

Discussione: onClick su una option

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    25

    onClick su una option

    ciao a tutti!

    non riesco a risolvere questo problema:

    Ho una funzione javascript:

    [ c o d e ]
    function setta(tipo){
    window.alert(tipo);
    }
    [/ c o d e ]

    e una select:

    [ c o d e ]
    <option onKeyPress="Javascript:setta('<%=tipo%>')" value="<%= id %>"><%= nome %></option>
    [/ c o d e ]

    Perchè non riesco a visualizzare il messaggio?

    PS
    non posso usare qualcosa del tipo

    <select onChange=...

    perchè l'id della select non è univoca.
    Avete una soluzione?

    grazie
    Daniela

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Gli eventi non esistono nelle options. Esistono nella select.

    Chiaramente onkeypress non ha senso per una select (e neppure lo avrebbe per una option).

    Gli id in una pagina DEVONO essere univoci. Invece i name possono essere multipli.

    Posta qualcosa di piu` del tuo problema per avere maggiori info.
    E non postare codice PHP o ASP: posta il codice che arriva al browser.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    25
    ciao...

    il problema è che all'interno della select mi serve memorizzare due valori, qualcosa del genere:

    valore 1 --> tipo1
    valore 1 --> tipo2
    valore 1 --> tipo3
    valore 2 --> tipo1
    valore 2 --> tipo2
    valore 3 --> tipo2

    dove ciascuna coppia è univoca.

    Secondo te l'unica soluzione è concatenare i due valori nell'id e prenderli con una request?

    PS scusate se ho postato codice jsp
    Daniela

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non riesco a seguirti.

    Cosa e` una request? E` qualcosa lato server?

    Comunque puoi fare una cosa del genere:
    <option value="valore 1">tipo1</option>

    e in JS ricavi:
    var ss = document.NOMEFORM.NOMESELECT;
    valore = ss.options[ss.selectedIndex].value;
    testo = ss.options[ss.selectedIndex].text;

    Oppure:
    <option value="valore 1;tipo1">testo</option>

    e allora
    valore = ss.options[ss.selectedIndex].value;
    ricava i due campi separati da ; . Poi puoi spezzarli:
    parti = valore.split(/;/);

    Come separatore puoi usare:
    ; , |
    altri caratteri hanno altri significati, per cui sono da evitare salvo che si conosca bene cosa si fa.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    25
    ciao

    scusa Mich se non sono stata chiara... ma tu nonostante tutto mi sei stato di grande aiuto.

    La seconda soluzione era esattamente quello che cercavo!!

    ciao e grazie
    Daniela

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.