Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    [jQuery] evento richiamato da evento

    Ho creato un evento legato al change di una coppia di radio button, poi ho creato un altro evento legato al change di una seconda coppia, ma in questo secondo evento vado a deselezionare la prima coppia di radio button, per cui il valore della prima coppia è cambiato, ma il primo evento change non viene invocato...sì può risolvere?

    Potevo capire se lavoravo con l'evento click, perché se cambio da script il radio selezionato fisicamente non ho cliccato e quindi l'evento non è invocato, ma se lavoro con l'evento change...di fatto il valore l'ho cambiato, ora che lo cambio cliccando o che lo cambio da script sempre che l'ho cambiato no?!

  2. #2
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Codice PHP:
    <form id="test" name="test" method="POST">
    <
    input type="radio" value="1(1)" name="radio1">Radio 1(1)

    <
    input type="radio" value="1(2)" name="radio1">Radio 1(2)


    <
    input type="radio" value="2(1)" name="radio2">Radio 2(1)

    <
    input type="radio" value="2(2)" name="radio2">Radio 2(2)


    <
    script type="text/javascript">
    $(
    '[name="radio1"]').change(function(){
        $(
    '[name="radio2"]').removeAttr('checked');
    });
    $(
    '[name="radio2"]').change(function(){
        
    val = ($(this).val());
        
    alert(val);
    });
    </script>
    </form> 
    Quando clicco su uno dei due radio button della prima coppia, oltre che ad azzerare la seconda coppia, speravo si invocasse l'evento legato alla seconda coppia, invece viene ignorato. In termini pratici, mi aspettavo l'alert contenuto nell'evento legato a radio2 invece non viene invocato...eppure il valore di radio2 has changed!

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Gli eventi richiamati da js non vengo eseguiti, devi richiamare la funzione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da cavicchiandrea
    Gli eventi richiamati da js non vengo eseguiti, devi richiamare la funzione
    il problema è che tutto viene generato dinamicamente da php, non posso sapere a priori quanti campi ci sono, e quindi non posso generare chiamate, non c'è un modo di forzare la cosa? Nel caso specifico in ogni caso, come potrei richiamare la seconda funzione? E' anonima no?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    $('[name="radio1"]').change(function(){ 
        $('[name="radio2"]').removeAttr('checked'); 
    $('[name="radio2"]').change();
    });

  6. #6
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da Vindav
    codice:
    $('[name="radio1"]').change(function(){ 
        $('[name="radio2"]').removeAttr('checked'); 
    $('[name="radio2"]').change();
    });
    così facile?! Fammi vedere se si applica con il contenuto dinamico...

  7. #7
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da Vindav
    codice:
    $('[name="radio1"]').change(function(){ 
        $('[name="radio2"]').removeAttr('checked'); 
    $('[name="radio2"]').change();
    });
    sembrava troppo bello per essere vero...

    chiamando il .change direttamente così, nella realtà viene fatta una chiamata per ciascun radio2 (quindi due volte nell'esempio) e ciascuna volta il val del radio ha il valore del radio corrente e non il valore del radio selezionato, cioè nessun radio è selezionato e quindi il valore dovrebbe essere null...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se si capisse cosa vuoi ottenere, forse un consiglio/aiuto potrei anche dartelo. Hai chiesto come fare a richiamare l'altra funzione, il modo è quello che ti ho suggerito.

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.