Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205

    Attivare evento quando si seleziona un option di una select

    Ciao,

    vorrei attivare un evento quando l'utente seleziona dal select una determinata option.
    Purtroppo non riesco ad attivarlo. Ho problemi con l'option perchè non ha una classe ma solo il 'value'.
    Come posso fare?

    Vi posto il codice che non va (con l'utilizzo di jquery).

    codice:
    $( "option[value=105] selected:selected" ).change(function() {
              document.getElementById("prodotto").innerHTML = "bla bla bla";        
             })
    Dove sbaglio?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Questa select senza id senza classe e senza name prova così $("select:eq(0) selected:selected")//eq(0) = prima select della pagina
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205
    Allora il codice non va.
    Comunque la select ha un name.

    Ho modificato il codice così.

    $( "option[value=105]" ).click(function() {
    document.getElementById("prodotto").innerHTML = "bla bla bla";
    })
    Funziona però vorrei un evento singolo per tutti gli option con value tra 0 e 100, inveche che crearne per ciascun option.
    Come posso fare?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Metti la pagina demo online (tuosito.xxxx/paginademo.xxxx) che dopo cena faccio qualche prova
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Prova con
    codice:
    $("select").change(function () {
        var val = $(this).val();
        if (val > 100
            || val < 0
           ) {
            // Qui il tuo codice
        }
    });
    No

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205
    Grazie tampertools funziona!

    Solo che c'è un altro problemino. Ho aggiunto altri if per un altro valore del option con l'evento ma non va, mentre per gli altri va benissimo.

    $("[name='nazione']").change(function () {
    var val = $(this).val();

    if (val > 105) {
    $("input[id=radio1]").attr("checked", true);
    }
    if (val < 105) {
    $("input[id=radio1]").attr("checked", true);
    }
    if (val == 105) {
    $("input[id=radio3]").attr("checked", true);
    }
    });
    Purtroppo non va 'if (val == 105) {'. Non capisco il perchè.

    Ho sbagliato qualcosa?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205
    Cerco di spiegarmi meglio.

    Nella mia pagina viene caricato come default il check su un radio.
    Io con determinato option cambio il check di default.
    Quando però imposto che per un option il check va sul radio di default non va, rimane invece dove su input[id=radio1].

    Come posso risolvere il problema?

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, anziché .attr() puoi usare .prop(), oppure direttamente .click():
    codice:
    $("[name='nazione']").change(function () {
        $($(this).val()==105?"input[id=radio3]":"input[id=radio1]").prop("checked", true);
    });
    codice:
    $("[name='nazione']").change(function () {
        $($(this).val()==105?"input[id=radio3]":"input[id=radio1]").click();
    });
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205
    Perfetto KillerWorm!

    Grazie. Funziona perfettamente!

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.