iamguruman писал(а): ↑2021.06.01, 23:13
У меня есть форма
в форме сделал два таба,
Код: Выделить всё
<?= \yii\bootstrap\Tabs::widget(['items' => [
[
'label' => 'Один исполнитель',
'active' => aGet('person') ? true : false,
'content' => "<br>".$this->render("_form_responsible_one", ['model' => $model, 'form' => $form])
],
[
'label' => 'Несколько исполнителей',
'active' => false,
'content' => "<br>".$this->render("_form_responsible_multiple", ['model' => $model, 'form' => $form])
],
]]) ?>
в лейбл таба хочу добавить checkbox, как?
п.с. идея такая... хочу чтобы пользователь ставил галочку на чекбоксе в лейбле таба и с помощью этого буду определять с какого из табов брать значения полей формы
Для реализации задумки нужно переписать виджет
Внутри виджета, есть метод renderItems() в котором составлен заголовок и всё что будет в label пойдёт внутрь ссылки.
Код: Выделить всё
$header = Html::a($label, '#' . $options['id'], $linkOptions);
Если переписать составление переменной $header
Код: Выделить всё
if(isset($item['checkbox'])){
$checkbox = Html::checkbox($item['checkbox']);
} else {
$checkbox = '';
}
$header = $checkbox . Html::a($label, '#' . $options['id'], $linkOptions);
и в табе прописать
Код: Выделить всё
<?= \yii\bootstrap\Tabs::widget(['items' => [
[
'label' => 'Один исполнитель',
'active' => aGet('person') ? true : false,
'content' => "<br>".$this->render("_form_responsible_one", ['model' => $model, 'form' => $form]),
'checkbox' => 'checkbox_one',
],
[
'label' => 'Несколько исполнителей',
'active' => false,
'content' => "<br>".$this->render("_form_responsible_multiple", ['model' => $model, 'form' => $form]),
'checkbox' => 'checkbox_multiple',
],
]]) ?>
То выдаст два чекбокса с
name="checkbox_one" и
name="checkbox_multiple"
Останется только вёрстка, чтобы чекбокс хорошо ложился со ссылкой таба.