yii2活动表单

时间:2015-11-18 00:30:50

标签: html css twitter-bootstrap twitter-bootstrap-3 yii2

我有第三方CSS,我想在Yii2 ActiveForm中使用它。

这里的问题是:我应该如何将类提供给表单字段?我尝试了以下但我无法获得所需的输出。

<div class="checkbox checkbox-success">
    <?= $form->field($model, 'is_sold')->checkbox(); ?>
</div>

我也尝试了以下内容:

<div class="checkbox">
    <?= $form->field($model, 'is_sold')->checkbox(['class'=>'checkbox-success']); ?>
</div>

但它呈现的HTML代码如下:

<div class="checkbox checkbox-success">
<div class="form-group field-mainads-is_sold has-success">

<input type="hidden" name="MainAds[is_sold]" value="0">
   <label>
     <input type="checkbox" id="mainads-is_sold" name="MainAds[is_sold]" value="1">
     Mark as Sold
   </label>
</div>        
</div>

我想要的输出如下所示:

<div class="checkbox checkbox-success">
    <input class="styled styled" id="checkbox10" type="checkbox">
    <label for="checkbox10">
        This too
    </label>
</div>

我也试过这个:

 <?= $form->field($model, 'is_sold', ['options' =>  ['class' => 'checkbox checkbox-success']])->checkbox([] ,false) ?>

但它也不起作用,它给出了如下输出:

<div class="checkbox checkbox-success field-mainads-is_sold has-success">
    <label class="control-label" for="mainads-is_sold">Mark as Sold</label>
    <input type="hidden" name="MainAds[is_sold]" value="0">
    <input type="checkbox" id="mainads-is_sold" name="MainAds[is_sold]" value="1">
</div>

下图中的第一个复选框是我直接编写HTML代码时获得的,但我想使用ActiveForm字段来完成。图像中的第二个复选框是表单域代码。

enter image description here

3 个答案:

答案 0 :(得分:3)

我找到了解决方案。试试这个:

<?php $checkboxTemplate = '<div class="checkbox i-checks">{beginLabel}{input}{labelTitle}{endLabel}{error}{hint}</div>'; ?>
<?= $form->field($model, 'rememberMe')->checkbox(['template' => $checkboxTemplate]); ?>

我的结果:

<div class="form-group field-loginform-rememberme">
    <div class="checkbox i-checks">
        <label for="loginform-rememberme">
            <input type="hidden" name="LoginForm[rememberMe]" value="0">     
            <input type="checkbox" id="loginform-rememberme" name="LoginForm[rememberMe]" value="1" checked="">
            Remember Me
        </label>
        <p class="help-block help-block-error"></p>
    </div>
</div>

答案 1 :(得分:1)

如果您正在寻找物化css设计,此模板路线可行。

enter image description here

<?
    $checkboxTemplate = '<label>Terms and Conditions</label><div class="switch">{beginLabel}No{input}{labelTitle}<span class="lever"></span>Yes{endLabel}{error}{hint}</div>';
    echo $form->field($model, 'terms', ['options' =>  ['class' => 'form-group required']])->checkbox(['template' => $checkboxTemplate])->label('');
?>

答案 2 :(得分:0)

尝试类似的事情: -

 <?= $form->field($model, 'is_sold' ,['options' =>  ['class' => 'checkbox checkbox-success']])->checkbox([] ,false) ?>