Кроме того, необходимо подписаться на изменения-события:
<script type="text/javascript">
$(function(){
var changeHandler = function() {
if ($(this).is(':checked')) {
alert('Yes my checkbox is checked');
} else {
alert('No my checkbox is not checked');
}
};
$('#myCheckbox').change(changeHandler)
.trigger('change');
});
</script>
Что он делает:
- Используйте событие onload для создания функции, которая будет использоваться в качестве обработчика события для события change
- Зарегистрируйте changeHandler в ChangeEvent от флажка
- Trigger изменения-события загрузки страницы, так что также запускается при первой загрузке страницы (синтетическое событие)
Теперь, что интересно об этом подходе заключается в том, что он позволяет использовать changeHandler более общим образом. Так как вы используете $ (это) вместо $ (селектор) внутри обработчика, вы можете использовать эту функцию для делегирования событий, например, так:
$('body').on('change', 'input[type=checkbox]', changeHandler);
Этот регистр бы changeHandler слушать все изменения-события на флажках на всей странице.
возможно дубликат [Как я могу проверить, если флажок с JQuery?] (Http://stackoverflow.com/questions/2204867/how-do-i-check-if-a-checkbox- is-checked-with-jquery) и [Запуск действия jquery, когда пользователи отмечают флажок] (http://stackoverflow.com/questions/4771050/triggering-a-jquery-action-when-the-users-mark- а-флажок) –