Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2020, 12:26
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

Добавление фона блоку при отмеченном чекбокс
Доброго времени суток!
Необходимо при отмеченном чекбоксе произвести смену фона у div.
На данный момент удалось сделать смену только у label и только если кликнуть строго на сам чекбокс.
Если кликнуть на span, то фон не меняется.
Подскажите, пожалуйста, как у div сделать фон при отмеченном чекбокс и при клике на span и input? Спасибо.
<div class="col-lg-3 put_off">
  <label id="bx_117848907_1354_compare_link" class="checkbox-checked">
    <input type="checkbox" data-entity="compare-checkbox">
    <span data-entity="compare-title">Сравнить</span>
  </label>
</div>

$(window).load(function() {
  $('input[type="checkbox"]').each(function() {
    if ($(this).prop('checked')) {
      $(this).parent().addClass('checkbox-checked');
    }
  });
  $('input[type="checkbox"]').bind("change", function() {
    if ($(this).is(":checked")) {
      $(this).parent('label').addClass('checkbox-checked');
    } else {
      $(this).parent('label').removeClass('checkbox-checked');
    }
  });
})

.checkbox-checked {
  background: #FFCC00;
}
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2020, 12:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

_marisha,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .checkbox-checked {
  background: #FFCC00;
  }
.put_off label{
      display: block;
      height: 100%;
  }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
$('.put_off').on('change', 'input[type="checkbox"]', function(event) {
$(event.delegateTarget).toggleClass('checkbox-checked', this.checked)
}).find('input[type="checkbox"]').trigger('change');
});
  </script>
</head>
<body>
<div class="col-lg-3 put_off">
  <label id="bx_117848907_1354_compare_link">
    <input type="checkbox" data-entity="compare-checkbox">
    <span data-entity="compare-title">Сравнить</span>
  </label>
</div>
<div class="col-lg-3 put_off">
  <label id="bx_117848907_1354_compare_link">
    <input  type="checkbox" data-entity="compare-checkbox" checked="checked">
    <span data-entity="compare-title">Сравнить</span>
  </label>
</div>

</body>
</html>

Последний раз редактировалось рони, 03.03.2020 в 13:47.
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2020, 12:47
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

рони, спасибо что откликнулись )
Отлично, фон меняется ) Но только меняется если именно кликнуть на чекбокс.
А как сделать чтобы и при клике на сам span фон менялся?
Можно ещё сделать так, но по id:
$(window).load(function() {
  $('input[type="checkbox"]').each(function() {
    if ($(this).prop('checked')) {
      document.getElementById('checkbox').style.backgroundColor = "#FCAC7D";
    }
  });

  $('input[type="checkbox"]').bind("change", function() {
    if ($(this).is(":checked")) {
      document.getElementById('checkbox').style.backgroundColor = "#FCAC7D";
    } else {
      $(this).parent('label').removeClass('checkbox-checked');
      document.getElementById('checkbox').style.backgroundColor = "#fff";
    }
  });
})

Но Ваш пример лучше

Последний раз редактировалось _marisha, 02.03.2020 в 12:54.
Ответить с цитированием
  #4 (permalink)  
Старый 02.03.2020, 12:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от _marisha
Но только меняется если именно кликнуть на чекбокс.
А как сделать чтобы и при клике на сам span фон менялся?
в каком браузере у вас не работает код из поста #2 ?
Ответить с цитированием
  #5 (permalink)  
Старый 02.03.2020, 13:01
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

Сообщение от рони Посмотреть сообщение
в каком браузере у вас не работает код из поста #2 ?
- в Chrome/Mozilla Ваш пример работает только для чекбокса, но не span.
Ответить с цитированием
  #6 (permalink)  
Старый 02.03.2020, 13:03
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Быть такого не может
Ответить с цитированием
  #7 (permalink)  
Старый 02.03.2020, 13:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

_marisha,
Ответить с цитированием
  #8 (permalink)  
Старый 02.03.2020, 13:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

_marisha,
возможно у вас другая структура, а не та которую вы показали.
Ответить с цитированием
  #9 (permalink)  
Старый 02.03.2020, 13:16
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

рони, видео
Сообщение от рони Посмотреть сообщение
_marisha,
возможно у вас другая структура, а не та которую вы показали.
-
Ответить с цитированием
  #10 (permalink)  
Старый 02.03.2020, 14:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

рони, видимо "фон" подразумевает все и за текстом, и label, span должны иметь стиль block.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление параметра SRC в iframe при клике Kilster Общие вопросы Javascript 3 14.08.2019 16:58
Менять цвет фона select option при наведении Dmitriykh Элементы интерфейса 3 25.07.2011 13:04
Появляющаяся форма при нажатии на чекбокс bananapapa Общие вопросы Javascript 1 21.07.2010 09:39
Добавление элементов при нажатии frolvict Общие вопросы Javascript 16 06.04.2010 19:56
Добавление класса на елемент по id при фокусе на input Andrew_tl Events/DOM/Window 1 18.02.2010 19:09