Форум программистов, компьютерный форум, киберфорум
Наши страницы

JavaScript

Войти
Регистрация
Восстановить пароль
 
Huge
3 / 3 / 1
Регистрация: 26.01.2016
Сообщений: 469
#1

Менять стиль элемента двумя checkbox'ами - JavaScript

20.03.2017, 23:01. Просмотров 218. Ответов 4
Метки нет (Все метки)

Добрый день.
Возникла необходимость написать код при котором изначальный цвет будет два раза меняться сначала при одном нажатом checkbox, потом при двух одновременно.
Т.е. к примеру есть текст "TEXT" красного цвета и два checkbox при нажатии первого он становиться зеленым, при нажатии второго черным. И тут вариант
CSS
1
input[type="checkbox"]
не срабатывает, а вот как обратиться по name или id не нахожу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2017, 23:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Менять стиль элемента двумя checkbox'ами (JavaScript):

можно ли менять id элемента при наведении? - JavaScript
Здравствуйте. Такая проблема. Есть большой скрипт, который ссылается на элемент с ИДом. Но мне надо было, чтобы любой элемент можно...

Как изменить стиль элемента через JS? - JavaScript
Скажу сразу, JS я нигде не учил, поэтому вопрос крайне нубкий и это моя первая попытка. Решить через гугл пробовал, но все варианты не...

Динамически менять цвет фона у элемента HTML-формы - JavaScript
Имеется html-форма. На ней два элемента: checkbox и edit. если в checkbox стоит галочка, то edit доступен, иначе нет. все это работает...

Сменить стиль элемента на javascript в процессе выполнения функции - JavaScript
Я вот сделал авторизацию на ajax с обработкой json ответа, но не получается сделать изменения стиля элемента в зависимости от ответа. ...

Менять цвет второго элемента при наведении на первый и наоборот - JavaScript
Задача: есть два блока div1 - black, div2 - gray. Если наводим на div1 , то div2 становится голубым, eсли наводим на div2 , то div1...

Нужно создать таблицу с двумя фреймами по бокам ....или с двумя столбиками... - JavaScript
Помогите пожалуйста создать таблицу с двумя фреймами по бокам ....или с двумя столбиками... очень надо ..кому не трудно прошу прислать...

4
mrtoxas
Модератор
Эксперт HTML/CSS
2445 / 1780 / 981
Регистрация: 12.07.2015
Сообщений: 4,807
Записей в блоге: 3
20.03.2017, 23:33 #2
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <style>
    #ch1:checked ~ #lab{
      color:red;
    }
    #ch2:checked ~ #lab{
      color:green;
    }
    #ch1:checked ~ #ch2:checked ~ #lab{
      color:blue;
    }
  </style>
</head>
<body>
  <input type="checkbox" id="ch1"/>
<input type="checkbox" id="ch2"/>
<span id="lab">Lorem ipsum dolor.</span>
</body>
</html>
1
Huge
3 / 3 / 1
Регистрация: 26.01.2016
Сообщений: 469
21.03.2017, 12:27  [ТС] #3
не думал, что так просто можно сделать

Что-то не срабатывает пробую применить этот код в табл и пока не выходит:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div  align="center" class="tableCheckOrder">
 <table border="1" width="70%" style="margin-top: 20px">
        <tr th:each="customer : ${selected}"  class="changeColor">
            <td align="center">
                <span th:text="${customer.name}" >Name</span>
                </td>
            <td align="center">
                <span th:text="${customer.phone}">phone</span>
                </td>
            <td align="center">
                <span id="orderDate" th:text="${customer.date}">date</span>
               </td>
            <td align="center">
                    <input type="checkbox"  th:checked="${customer.recive}" id="receive" name="receive"/>
                <br/><span>  Цвет 1</span>
            </td>
            <td align="center">
                <input type="checkbox" th:checked="${customer.sentOrder}" id="sentOrder" name="sentOrder"/>
                <br/><span>  Цвет 2</span>
            </td>
        </tr>
</table>
</div>
Вот так пробовал описать css:
CSS
1
2
3
4
.tableCheckOrder #receive:checked ~ #orderDate{
 
    color: greenyellow;
}
пробовал и так:
CSS
1
2
3
4
#receive:checked ~ .changeColor{
 
    color: greenyellow;
}
Могли бы Вы указать где ошибка?
0
mrtoxas
Модератор
Эксперт HTML/CSS
2445 / 1780 / 981
Регистрация: 12.07.2015
Сообщений: 4,807
Записей в блоге: 3
21.03.2017, 12:35 #4
При данной структуре и не выйдет. Элементы должны иметь общего родителя и элемент, который мы изменяем, должен находиться ниже в дереве HTML.
В данном случае можно только вынести чекбоксы за пределы таблицы, привязать к ним label'ы, скрыть чекбоксы, а label'ы стилизовать под них. Или js.
0
Huge
3 / 3 / 1
Регистрация: 26.01.2016
Сообщений: 469
21.03.2017, 13:30  [ТС] #5
а если с использованием js так может получиться?
0
21.03.2017, 13:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2017, 13:30
Привет! Вот еще темы с ответами:

Стиль отображения текста на сайте (как менять?) - Joomla
Всем привет! Мне не нравится, как в стандартном шаблоне отображается текст на страницах сайта, проблема в том, что отступы между словами и...

Как яваскриптом менять стиль границы ячейки в таблице? - Java
народ!!! плиз подскажите как яваскриптом менять стиль границы ячейки в таблице при нажатии клавиши мыши?вторую ночь мучаюсь!

Как при наведении на дочерний блок менять стиль родительского блока - HTML, CSS
Здравствуйте, подскажите пожалуйста как при наведении на дочерний блок менять стиль родительского блока? Например: &lt;div class=&quot;blok1&quot;&gt; ...

ListBox в виде списка с CheckBoxами - Visual Basic
Сделал ListBox с CheckBoxами. А как проверить, что галка установлена или снята?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.