Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.10.2022, 15:02
Интересующийся
Отправить личное сообщение для Juslaines Посмотреть профиль Найти все сообщения от Juslaines
 
Регистрация: 12.11.2021
Сообщений: 10

Checkbox с раскрывающимся полями для заполнения на форме
Есть форма, на форме есть checkbox по нажатию на него раскрываются дополнительные поля для заполнения. Как сделать так, чтобы после сохранения при просмотре или редактировании этой формы если хотя бы 1 поле в раскрывающейся области checkbox заполнено оно автоматом было раскрыто ?
Ответить с цитированием
  #2 (permalink)  
Старый 04.10.2022, 17:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Juslaines,
сделайте минимальный макет.
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 06.10.2022, 08:21
Интересующийся
Отправить личное сообщение для Juslaines Посмотреть профиль Найти все сообщения от Juslaines
 
Регистрация: 12.11.2021
Сообщений: 10

<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"><?= $form->field($claim, 'clPayMain')->widget(MaskMoney::classname(), [
				'pluginOptions' => [
					'prefix' => '$ ',
					'allowNegative' => false,
					'allowZero' => true,
					'allowEmpty' => false,
				]
			])->label("основная сумма оплат ($)") ?>
		</div>
		<div class="col"><?= $form->field($claim, 'clPayPenalty')->widget(MaskMoney::classname(), [
				'pluginOptions' => [
					'prefix' => '$ ',
					'allowNegative' => false,
					'allowZero' => true,
					'allowEmpty' => false,
				]
			])->label("неустойка (штраф, пеня)($)") ?>
		</div>
		<div class="col"><?= $form->field($claim, 'clPayPercent')->widget(MaskMoney::classname(), [
				'pluginOptions' => [
					'prefix' => '$ ',
					'allowNegative' => false,
					'allowZero' => true,
					'allowEmpty' => false,
				]
			])->label("проценты($)") ?>
		</div>
		<div class="col"><?= $form->field($claim, 'clPayDamages')->widget(MaskMoney::classname(), [
				'pluginOptions' => [
					'prefix' => '$ ',
					'allowNegative' => false,
					'allowZero' => true,
					'allowEmpty' => false,
				]
			])->label("убытки($)") ?>
		</div>
	</div>
</div>
Ответить с цитированием
  #4 (permalink)  
Старый 06.10.2022, 09:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт для заполнения поля формы vatras Opera, Safari и др. 9 11.01.2019 12:38
Плагин для стилизации checkbox antserg jQuery 11 16.07.2011 23:45
Проверить заполнение radio и checkbox в форме webkstu Events/DOM/Window 10 16.07.2011 18:16
Свой стиль для CheckBox vah-smile Элементы интерфейса 7 23.06.2011 18:34
Функция disable для нескольких checkbox allforweb Элементы интерфейса 4 19.12.2010 17:51