2011-08-29 18 views
18

Non conosco la terminologia corretta per questo, ma voglio lo stesso effetto di onclick ma per una casella di controllo con jquery o javascript.checkbox jquery o javascript oncheck?

versione onclick:

<a href="..." onclick="function()">Link</a> 

voglio lo stesso effetto come sopra, ma per una casella di controllo. Il risultato finale sarà che la pagina dovrebbe ricaricare con una query php aggiornata, ma quella parte che posso fare. Non so proprio cosa sia l'onclick per le checkbox.

casella di controllo:

<input type="checkbox" name="change" value="one" />changes php query 

risposta

3
$('#input_id').click(function() { 
    // do what you want here... 
}); 
+0

sarà la corsa funzione quando una casella è selezionata e incontrollato? – cbr0wn

+0

Verrà eseguito quando si fa clic, non importa se si seleziona o deseleziona. –

+1

So che non faceva parte della domanda originale, ma potrebbe valere la pena ricordare che se si dispone di un'etichetta di corrispondenza corrispondente alla casella di controllo, è necessario aggiungere anche una funzione '.click()' anche. –

48

Si dovrebbe ascoltare l'evento change, come la casella di controllo è possibile selezionare o deselezionare con la tastiera troppo:

$('input[type="checkbox"][name="change"]').change(function() { 
    if(this.checked) { 
     // do something when checked 
    } 
}); 

Allo stesso modo con la pianura JavaScript:

// checkbox is a reference to the element 

checkbox.onchange = function() { 
    if(this.checked) { 
     // do something when checked 
    } 
}; 

E per ultimo, anche se in realtà non si dovrebbe usare i gestori di eventi in linea, ma se si deve:

<input ... onchange="handler.call(this)" /> 

dove handler è come i gestori indicati sopra.


Ulteriori approfondimenti:

+2

+1, è anche possibile attivare la casella facendo clic su un'etichetta corrispondente, che le altre risposte non considerano. Questa è sicuramente la migliore risposta. –

Problemi correlati