Как при выборе checkbox добавить class его label?

Пользователь

от terrence , в категории: JavaScript , 2 года назад

Как при выборе checkbox добавить class его label?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от loyal , 2 года назад

@terrence 

Если у вас есть стандартный checkbox и его label, то можно использовать следующий скрипт на jQuery:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$(document).ready(function(){
   $("input[type='checkbox']").change(function() {
        var checkbox = $(this);
        var label = checkbox.next();
        if (checkbox.prop("checked")) {
            label.addClass("checked");
        } else {
            label.removeClass("checked");
        }
    });
});


Пример HTML кода с чекбоксом и его label:

1
2
Checkbox label


В данном примере, после выбора чекбокса, скрипт добавит класс "checked" к label. Таким образом, вы можете добавить стилизацию к выбранному checkbox.

Пользователь

от magali , 8 месяцев назад

@terrence 

Можно также сделать это без использования jQuery, просто с помощью чистого JavaScript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<input type="checkbox" id="myCheckbox">
<label for="myCheckbox" id="myLabel">Checkbox label</label>

<script>
    const checkbox = document.getElementById("myCheckbox");
    const label = document.getElementById("myLabel");

    checkbox.addEventListener("change", function() {
        if (checkbox.checked) {
            label.classList.add("checked");
        } else {
            label.classList.remove("checked");
        }
    });
</script>


Этот скрипт будет выполнять ту же функцию - добавление класса "checked" к label при выборе checkbox и его удаление при снятии выбора.