I\'m using labels for my form, like this :
Label
Instead of binding with the click() event, you should bind using the change() event, then however this change is triggered the outcome will be the same:
click()
change()
$('#foo').change( function(){ // do whatever });
References: