Показать сообщение отдельно
  #21 (permalink)  
Старый 15.10.2019, 17:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Значит есть ошибки, нужно заглянуть в отладчик, что он вещает.
Собственно ничего сложного нет, нужно удалить ваши обработчики флажков и добавить что я написал, а работа его проста:

//общему родителю флажков делегируется обработка изменения их состояния
//если таких блоков 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    
    }
});
Ответить с цитированием