laimas,
Ваш код работает полностью если удалить мой
$('.montage__floor').on('click', '.floor__item-wrap', function() {
var $input = $(this).children('.floor__item-inner').find('input');
if ($input.prop('checked')) {
$input.prop('checked',false);
$(this).css('background', 'none');
}else{
$input.prop('checked',true);
$(this).css('background', '#bbd9ff');
};
});
Все input выделяются без проблем, но тогда надо жать на сам input. Залил изменения на сервер.
Сейчас там только ваш код
//общему родителю флажков делегируется обработка изменения их состояния
//если таких блоков upsale__block__sub-right-wrap много, то этот обработчик будет выполнятся только в контексте текущего
$('div.upsale__block__sub-right-wrap').on('change', 'input', function(e) {
var chk = $(e.delegateTarget).find('input'); //получили все флажки текущего родителя
//если источник события это флажок block__check, что можно проверить и так: $(this).hasClass('block__check')
if(chk.eq(0)[0]==this) chk.slice(1).prop('checked', this.checked); //то определить его состояние всем последующим флажкам текущего родителя
else { //иначе это изменение флажков набора
var c = chk.slice(1).filter(':checked').length; //есть ли выбранные флажки в наборе?
chk.eq(0).prop({checked: c, disabled: !c}); //результат операции присвоить свойствам checked и disabled флажка block__check
}
});