2011-01-29 1 views

risposta

5

Javascript non generare gli eventi in base alle modifiche programmatiche per formare gli elementi - per evitare un loop infinito di eventi - in modo da avere due opzioni (meno-che-ideale):

  • Scrivi una funzione wrapper che cambia l'attributo e chiama il tuo callback, e quindi sforzatevi di usare sempre la vostra funzione wrapper
  • Basta chiamare la richiamata da soli quando si cambia l'attributo
+2

Se * si * ha cambiato la casella di controllo in modo programmatico, è possibile attivare personalmente l'evento di modifica. Ad esempio, $ ("# myCheckbox"). Prop ("checked", true) .trigger ("change"). – Steve11235

1

io non sono sicuro se yo Ti aspetti this

+1

Non proprio. Mi aspetto che l'esecuzione del codice '$ ('# check1'). Attr ('checked', 'checked');' crei l'evento 'change()' per quella checkbox. – SaltLake

-1

This potrebbe essere quello che stavi cercando.

$(document).ready(function(){   
    $('#check1').click(function(){ 
     var n = $("#check1:checked").length; 
     alert(n); 
    }); 
});