Я думаю, это то, что вам нужно:
$(".list :checkbox").change(function() {
if(this.id == "chkday0") $(".list :checkbox:gt(0)").attr("checked", false);
$("#chkday0").attr("checked", $(".list :checkbox:gt(0):checked").length == 0);
});
Вы можете проверить это здесь .Для этого нужно установить обработчик change
для каждого флажка в этом <p>
.
- Если это первый (все), очистить все остальные дни.
- Независимо от того, какой это был, проверьте первый, если ни один другой не выбран (отметьте Все, если нет дней).
Также обратите внимание, что в демоверсии изменились <label>
элементы ... они были недействительными for
атрибутов, и поскольку они обертывают <input>
, с которым они идут, вы все равно можете просто удалить for
.