Сообщение от laimas
|
Добавлять/удалять некий класс блоку floor__item, например active, который и будет раскрашивать, то есть:
.floor__item.active {
background-color: #A5D8E4;
}
$('div.upsale__block__sub-right-wrap').slice(1).on('change', 'input', function(e) {
var a = $(e.delegateTarget).find('input'), chk = a.slice(1);
if(a.eq(0)[0]==this) {
chk.prop('checked', false);
this.disabled = true;
$(e.delegateTarget).find('.floor__item').removeClass('active')
}else {
var c = chk.filter(':checked').length;
a.eq(0).prop({checked: c, disabled: !c});
}
$(this).closest('.floor__item').toggleClass('active')
}).find('.floor__item').each(function() {
$(this).children().wrapAll('<label/>')
});
|
это я пробовал
И тут есть момент - closest() не поддерживается IE даже 10+, и при снятии главной галочки, второстепенные снимаются, а окраска с их блоков нет.
Подключать 2 полифила для closest() не очень хочется, поэтому я и решил переписать с JS на jQuery код, потому что компактней выходит
P.S. окрашивать надо не .floor__item, а .floor__item-wrap