Измените цвет фона div, если установлен флажок внутри

Я ищу способ изменить цвет фона div, который является родителем флажка. Однако я хочу, чтобы он менял цвет фона только тогда, когда атрибут «проверено» находится внутри тега.

HTML

<div class="company">
        <input type="checkbox" name="Selected[]" class="checkboxC" value="8" checked>
             Company 8
</div>
<div class="company">
        <input type="checkbox" name="Selected[]" class="checkboxC" value="9">
             Company 9
</div>

Итак, в приведенном выше примере я бы хотел, чтобы div с флажком 8 менял цвет фона. 9 Остается цвет по умолчанию. Я также ничего не могу сделать с атрибутом имени, потому что он используется PHP. Любая помощь в том, как я могу исправить это с помощью Javascript/jQuery?


person Johan    schedule 21.03.2015    source источник
comment
ты хоть мой ответ прочитал?   -  person dippas    schedule 21.03.2015
comment
Да. Но ваш код работает только тогда, когда вы нажимаете на него, верно? Не тогда, когда он уже зарегистрирован в html. Все равно, спасибо за помощь :).   -  person Johan    schedule 21.03.2015


Ответы (1)


Вы можете использовать jQuery для обновления родительского цвета фона всех проверенных входных данных после того, как документ будет готов:

$(function () {
    $('input:checked').parent().css('background-color', 'red');
});

См. демонстрацию.

person dreyescat    schedule 21.03.2015
comment
Большое спасибо, это работает. Я немного изменил его, чтобы он проверял все флажки. Вот код для всех, кому интересно: $('.checkboxC').each(function(i, obj){ $('input:checked').parent().css('background-color', 'red'); if($(obj).is(':checked')) { $(obj).is(':checked').parent().css('цвет фона', 'красный'); } }); - person Johan; 21.03.2015