Поскольку вы используете jQuery, вам, вероятно, не следует использовать атрибут onclick
для привязки вашего обработчика событий.
Основная проблема в том, что вы передаете строку в jQuery. Эта строка интерпретируется как селектор и будет искать элемент типа checkbox
, который является потомком элемента типа this
. Очевидно, этого не будет.
Вы хотите что-то похожее на это:
$("div.background").click(function() {
$(this).find(":checkbox").click();
});
Или вы можете передать this
в jQuery в качестве контекста (что эквивалентно использованию find
):
$("div.background").click(function() {
$(":checkbox", this).click();
});
Обратите внимание, что я использую :checkbox
вместо просто checkbox
(с :
). Это селектор, который соответствует input
элементам типа checkbox
.
Тем не менее, есть большая проблема с этим. Вы застрянете в бесконечном цикле (поскольку события DOM всплывают на дереве). Вам нужно будет зафиксировать событие click
на флажке и остановить его там.