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

Juslaines,
не ясен момент, как и когда поля будут заполнены, что их заполняет, то и должно открывать блок.
возможный вариант, после загрузки страницы, но лучше это сделать на сервере сразу.
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            document.querySelectorAll(".form-check").forEach(div => {
                let nextDiv = div.nextElementSibling;
                let filled = Array.from(nextDiv.querySelectorAll("input"), ({
                        value
                    }) => value)
                    .filter(value => value).length;
                if (filled) {
                    nextDiv.style.display = "block";
                    div.querySelector("input").checked = true;
                }
            });
        })
    </script>
</head>
<body>
    <div class="row form-check">
        <label><input class="form-check-input checkbox" type="checkbox" id="checkbox2" value="checkbox-block-2"> Оплата</label>
    </div>
    <div class="checkbox-blocks" id="checkbox-block-2" style="display: none;">
        <div class="row">
            <div class="col"><input name="" value="12345">
            </div>
            <div class="col"><input name="">
            </div>
            <div class="col"><input name="">
            </div>
            <div class="col"><input name="">
            </div>
        </div>
    </div>
    <div class="row form-check">
        <label><input class="form-check-input checkbox" type="checkbox" id="test" value="test"> test</label>
    </div>
    <div class="checkbox-blocks" id="checkbox-block-2" style="display: none;">
        <div class="row">
            <div class="col"><input name="">
            </div>
            <div class="col"><input name="">
            </div>
            <div class="col"><input name="">
            </div>
            <div class="col"><input name="">
            </div>
        </div>
    </div>
</body>
</html>
Ответить с цитированием