powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS Главный чекбок над группами чекбоксов
6 сообщений из 6, страница 1 из 1
JS Главный чекбок над группами чекбоксов
    #39118855
TemichRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер. Помогите пожалуйста. Пытаюсь сделать группы чекбоксов так, чтоб над всеми этими чекбоксами был главный "Выделить все".
Код: javascript
1.
2.
3.
4.
5.
6.
$(document).ready(function() { 
                $(".all").on("change", function() {
                    var groupId = $(this).data('id');
                    $('.one[data-id="' + groupId + '"]').prop("checked", this.checked);
                });
            });


Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<h2>Группа 1</h2>
        <input type="checkbox" class="all" data-id="d1" title="Выбрать все"/>Общий<br/>
        <input type="checkbox" class="one" data-id="d1" title="Выбрать"/><br/>
        <input type="checkbox" class="one" data-id="d1" title="Выбрать"><br/>
        <input type="checkbox" class="one" data-id="d1" title="Выбрать"/>

        <h2>Группа 2</h2>
        <input type="checkbox" class="all" data-id="d2" title="Выбрать все"/>Общий<br/>
        <input type="checkbox" class="one" data-id="d2" title="Выбрать"/><br/>
        <input type="checkbox" class="one"data-id="d2" title="Выбрать"/><br/>
        <input type="checkbox" class="one" data-id="d2" title="Выбрать"/>


Получилось создать группы, а как создать чекбокс "Выделить всё", который будет выделять и снимать выделение с Группы 1 и Группы 2 одновременно.
Спасибо большое.
...
Рейтинг: 0 / 0
JS Главный чекбок над группами чекбоксов
    #39118997
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TemichRus,
ну сделайте так:
$(".main").on("change", function() {
$('.all').prop("checked", this.checked);
$('.one').prop("checked", this.checked);

});
где ".main" -селектор для главного чекбокса
...
Рейтинг: 0 / 0
JS Главный чекбок над группами чекбоксов
    #39119282
TemichRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey,

Спасибо, то что нужно. Вот только проблема. Когда выделены все, вдруг я снимаю какой то флаг, а флаг main не убирается.
...
Рейтинг: 0 / 0
JS Главный чекбок над группами чекбоксов
    #39119289
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TemichRus,

повесьте событие на класс one
...
Рейтинг: 0 / 0
JS Главный чекбок над группами чекбоксов
    #39119580
TemichRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey,

Я разобрался спасибо. А как теперь теперь сделать так, чтобы при снятом флаге "все" отметить вручную каждый и после этого флаг "все" отмечается автоматически? Нужно перебрать каждый чекбокс на "checked"?
...
Рейтинг: 0 / 0
JS Главный чекбок над группами чекбоксов
    #39120023
TemichRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось вот так.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
$(document).ready(function() { 
                $(".all").on("change", function() {
                    var groupId = $(this).data('id');
                    if($('.main').attr("checked")=='checked'){
                       $('.main').prop("checked",this.checked);
                    }
                    $('.one[data-id="' + groupId + '"]').prop("checked", this.checked);
                });
                $(".main").on("change",function() {
                   $('.all').prop("checked",this.checked);
                   $('.one').prop("checked",this.checked);
                });
                $(".one").on("change",function() {
                   var groupId = $(this).data('id');
                   if($('.all[data-id="' + groupId + '"]').attr("checked")=='checked' && $('.main').attr("checked")=='checked'){
                       $('.all[data-id="' + groupId + '"]').prop("checked",this.checked);
                       $('.main').prop("checked",this.checked);
                   }
                   if($('.all[data-id="' + groupId + '"]').attr("checked")=='checked'){
                       $('.all[data-id="' + groupId + '"]').prop("checked",this.checked);
                   }
                        var groupId = $(this).data('id');
                        var list = null, flag = true;
                        list = $('#'+ groupId +' input:checkbox');
                            list.each( function() {
                                if($(this).attr("checked")!='checked')
                                    flag=false;
                            });
                        if(flag)
                        {
                            var groupId = $(this).data('id');
                            if($('.all[data-id="' + groupId + '"]').attr("checked")!='checked')
                                $('.all[data-id="' + groupId + '"]').prop("checked",this.checked);
                        }

                });
                $(".all").on("change", function() {
                    var groupId = $(this).data('id');
                    $('.one[data-id="' + groupId + '"]').prop("checked", this.checked);
                });
            });


Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<h2>Группа 1</h2>        
        <input type="checkbox" class="main" title="Все"/>Все<br>
        <input type="checkbox" class="all" data-id="d1" title="Выбрать все"/>Общий<br/>
        <div id="d1">
        <input type="checkbox" class="one" data-id="d1" title="Выбрать"/><br/>
        <input type="checkbox" class="one" data-id="d1" title="Выбрать"><br/>
        <input type="checkbox" class="one" data-id="d1" title="Выбрать"/>
        </div>
        <h2>Группа 2</h2>
        <input type="checkbox" class="all" data-id="d2" title="Выбрать все"/>Общий<br/>
        <div id="d2">
        <input type="checkbox" class="one" data-id="d2" title="Выбрать"/><br/>
        <input type="checkbox" class="one" data-id="d2" title="Выбрать"/><br/>
        <input type="checkbox" class="one" data-id="d2" title="Выбрать"/>
        </div>


Я думаю получилось много лишнего.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS Главный чекбок над группами чекбоксов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]