Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Asp.net treeView checbox  [new]
dmitriy1985
Member

Откуда:
Сообщений: 12
Приветствую.
На странице asp нет есть дерево c checbox и функция javascript которая при нажатии на node выделяет его childnode и обратно.
Но сейчас стоит такая задача, что необходимо сделать так чтобы можно было только один родительский нод выбрать т.е. выбрал один родительский нод, остальные отмеченные родительский ноды галочка должна убраться.
$(function () {
            $("[id*=TreeView2] input[type=checkbox]").bind("click", function () {
                var table = $(this).closest("table");
                if (table.next().length > 0 && table.next()[0].tagName == "DIV") {
                    //Is Parent CheckBox
                    var childDiv = table.next();
                    var isChecked = $(this).is(":checked");
                    $("input[type=checkbox]", childDiv).each(function () {
                        if (isChecked) {
                            $(this).attr("checked", "checked");
                        } else {
                            $(this).removeAttr("checked");
                        }
                    });
                } else {
                    //Is Child CheckBox
                    var parentDIV = $(this).closest("DIV");
                    if ($("input[type=checkbox]", parentDIV).length == $("input[type=checkbox]:checked", parentDIV).length) {
                        $("input[type=checkbox]", parentDIV.prev()).attr("checked", "checked");
                    } else {
                        $("input[type=checkbox]", parentDIV.prev()).removeAttr("checked");
                    }
                }
            });
        })

Дерево
https://cdn1.savepice.ru/uploads/2020/10/28/fdf4954137cf693bb8a16707487375c0-full.png
28 окт 20, 14:36    [22222281]     Ответить | Цитировать Сообщить модератору
 Re: Asp.net treeView checbox  [new]
MsGuns
Member

Откуда: г.Чернигов
Сообщений: 113
        function SelectItem(event) {
            if (!enableAjaxRequest) return false; // Не менять выделенный итем если предыдущий запрос все еще обрабатывается сервером
            if (selectitem != null) {
                selectitem.className = 'itemUnSelected';
            }
            event.currentTarget.className = 'itemSelected';
            selectitem = event.currentTarget;
        }
        ...

        var selectitem = null;

Вам вместо изменения стиля (или дополнительно к нему) нужно из selectitem взять его парента (li), в нем найти чекбокс и его соответственно почистить.

Сообщение было отредактировано: 2 ноя 20, 17:34
2 ноя 20, 17:33    [22225151]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить