Как указали люди, вы делаете функцию неправильно (функция должна быть анонимной функцией или указателем на функцию, или строкой, указывающей на функцию). Но вы также используете неправильный метод on, он не совсем совпадает с методом live. Вы смотрите документ (или область документа), и в этом есть подселектор.
$(document).on('click', "#checkbox1", function() {
var status = this.checked;
$(".item").each(function () {
$(this).prop("checked", status);
});
Примечание: если все ваши чекбоксы создаются в 'checkBoxDiv', ваш селектор может быть:
$("#checkBoxDiv").on('click', "#checkbox1", ...
Для получения дополнительной информации о том, как использовать 'on', см. Сравнение функций в 'live' документации (примерно на 1/3 пути вниз по странице).
Из документации:
Переписать метод .live () с точки зрения его наследников
прямой; это шаблоны для эквивалентных звонков для всех
три метода прикрепления к событию:
$(selector).live(events, data, handler); // jQuery 1.3+
$(document).delegate(selector, events, data, handler); // jQuery
1.4.3+ $(document).on(events, selector, data, handler); // jQuery 1.7+
Аргумент события может быть разделенным пробелами списком типа события.
имена и необязательные пространства имен, или карта событий строк имен событий
и обработчики. Аргумент data является необязательным и может быть опущен. За
Например, следующие три вызова метода функционально эквивалентны
(но см. ниже для более эффективных и эффективных способов прикрепить
делегированные обработчики событий):
$("a.offsite").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+
$(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); }); // jQuery 1.4.3+
$(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+