Во-первых, у вас не правильный html, ul не может быть вложен в ul. Надо вкладывать ul в li
Во-вторых, если у вас кликнуть на label, а не на чекбокс, то галочка поставится, но click не вызовется
Вообще я вижу два варианта решения:
1. Если хотите использовать чекбоксы: повесить обработчик на change, и потом пройтись по родителям (когда вы поправите html это будет сделать проще) и везде проставить аттрибут checked
2. Если хотите использовать click то придется отказаться от checkbox и использовать какую-нибудь стилизацию (например рисовать картинку галочки слева от текста, а отметку ставить в скрытом поле), а обработчик click повесить на li. В таком случае вам не придется использовать никаких программных вызовов click, а обойдется обычным
бабблингом, т.е. событие клик само по очереди вызовется у всех родительских элементов (опять же, для этого вам придется привести html в нормальный вид)