Не получается checkbox

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Не получается checkbox

Сообщение girmate »

Хочу получить:

Код: Выделить всё

   <div class="g-mb-20">
      <label class="u-check g-pl-25 g-mr-25">
      <input class="hidden-xs-up g-pos-abs g-top-0 g-left-0" type="checkbox" checked="">
       <div class="u-check-icon-checkbox-v6 g-absolute-centered--y g-left-0">
       <i class="fa" data-check-icon=""></i>
       </div>
       USA
     </label>
 </div>
пишу код в форме:

Код: Выделить всё

 echo $form->field($model, 'rememberMe', [
  'options' => ['class' => 'g-mb-20'],
 'template' => "{label}\n{input}\n<div class=\"u-check-icon-checkbox-v6 g-absolute-centered--y g-left-0\"><i class=\"fa\" data-check-icon=\"\"></i></div>\n{hint}\n{error}"
 ])->checkbox([], true);
Как поставить внутри label?

Код: Выделить всё

 <div class="u-check-icon-checkbox-v6 g-absolute-centered--y g-left-0">
  <i class="fa" data-check-icon=""></i>
  </div>
полдня бьюсь не получается. Пробовал и через Html::acticeCheckBox. Тогда не знаю как там окружить label.
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Не получается checkbox

Сообщение girmate »

Или как

Код: Выделить всё

echo Html::activeCheckbox($model, 'rememberMe', [
          'class' => 'hidden-xs-up g-pos-abs g-top-0 g-left-0',
          ]);
Заставить перестать генерировать label для поля? Оно генерирует вот это:

Код: Выделить всё

<input type="hidden" name="LoginForm[rememberMe]" value="0">
<label>
<input type="checkbox" id="loginform-rememberme" class="hidden-xs-up g-pos-abs g-top-0 g-left-0" name="LoginForm[rememberMe]" value="1" checked>
 Remember Me
</label>
как убрать метку поля?
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
delvin
Сообщения: 85
Зарегистрирован: 2009.11.13, 15:29

Re: Не получается checkbox

Сообщение delvin »

Вот так

Код: Выделить всё

echo Html::activeCheckbox($model, 'rememberMe', [
          'class' => 'hidden-xs-up g-pos-abs g-top-0 g-left-0',
          'label' => false
          ]);
или

Код: Выделить всё

echo $form->field($model, 'rememberMe', [
  'options' => ['class' => 'g-mb-20'],
 'template' => "{label}\n{input}\n<div class=\"u-check-icon-checkbox-v6 g-absolute-centered--y g-left-0\"><i class=\"fa\" data-check-icon=\"\"></i></div>\n{hint}\n{error}"
 ])->checkbox([], true)->label(false);
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Не получается checkbox

Сообщение girmate »

Да спасибо, все верно. Только нашел решение и пришел сюда написать, как тут вы уже ответили. Спасибо!

Я сделал этот кусок формы так:

Код: Выделить всё

 echo $form->field($model, 'rememberMe', [
                        'options' => ['class' => 'g-mb-20'],
                        'errorOptions' => ['class' => 'form-control-feedback'],

                    ])->begin();

                    echo "<label class=\"u-check g-pl-25 g-mr-25\">";

                    echo Html::activeCheckbox($model, 'rememberMe', [
                        'class' => 'hidden-xs-up g-pos-abs g-top-0 g-left-0',
                        'label' => false
                    ]);


                    echo "<div class=\"u-check-icon-checkbox-v6 g-absolute-centered--y g-left-0\">
                          <i class=\"fa\" data-check-icon=\"\"></i>
                          </div>";

                    echo $model->getAttributeLabel('rememberMe');
                    echo "</label>";

                    echo $form->field($model, 'rememberMe')->end();
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Не получается checkbox

Сообщение girmate »

delvin писал(а): 2017.07.11, 16:33 Вот так

Код: Выделить всё

echo Html::activeCheckbox($model, 'rememberMe', [
          'class' => 'hidden-xs-up g-pos-abs g-top-0 g-left-0',
          'label' => false
          ]);
или

Код: Выделить всё

echo $form->field($model, 'rememberMe', [
  'options' => ['class' => 'g-mb-20'],
 'template' => "{label}\n{input}\n<div class=\"u-check-icon-checkbox-v6 g-absolute-centered--y g-left-0\"><i class=\"fa\" data-check-icon=\"\"></i></div>\n{hint}\n{error}"
 ])->checkbox([], true)->label(false);
А по второму варианту он вставляет метку перед <div class="u-check-icon-checkbox-v6 g-....
Я так тоже пробовал ранее.

Код: Выделить всё

<div class="g-mb-20 field-loginform-rememberme">

<input type="hidden" name="LoginForm[rememberMe]" value="0"><label><input type="checkbox" id="loginform-rememberme" name="LoginForm[rememberMe]" value="1" checked> Remember Me</label>
<div class="u-check-icon-checkbox-v6 g-absolute-centered--y g-left-0"><i class="fa" data-check-icon=""></i></div>

<div class="help-block"></div>
</div>

Осторожно! Вы общаетесь с новичком ;)
Ответить