如何在Yii2中使用.form-group禁用换行复选框

时间:2015-04-25 18:52:53

标签: twitter-bootstrap yii yii2 active-form

如何使用yii \ bootstrap \ ActiveForm在Yii2中使用div.form-group禁用换行复选框?

我需要(AdminLTE登录页面模板):

<div class="row">
    <div class="col-xs-8">
        <div class="checkbox icheck">
            <label>
                <input type="checkbox"> Remember Me
            </label>
        </div>
    </div>
    <div class="col-xs-4">
        <button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
    </div>
</div>

我试过了:

<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
    ...
    <div class="row">
        <div class="col-xs-8">
            <?= $form->field($model, 'rememberMe')->checkbox(); ?>
        </div>
        <div class="col-xs-4">
            <?= Html::submitButton('Sign In', ['class' => 'btn btn-primary btn-block btn-flat', 'name' => 'login-button']); ?>
        </div>
    </div>
<?php ActiveForm::end(); ?>

呈现给:

<div class="row">
    <div class="col-xs-8">
        <div class="form-group field-loginform-rememberme">
            <div class="checkbox">
                <label>
                    <input type="checkbox" name="LoginForm[rememberMe]" value="0"> Remember Me
                </label>
                <p class="help-block help-block-error"></p>
            </div>
        </div>
    </div>
    <div class="col-xs-4">
        <button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
    </div>
</div>

除了额外的包装<div class="form-group field-loginform-rememberme">之外,一切都很好 如何删除这个额外的包装?

3 个答案:

答案 0 :(得分:2)

$form->field($model,'field',[
     'options'=>
           [
             'tag'=>'div',
             'class'=>'checkbox icheck'
           ]
       ]
   )->checkbox();

或者您可以通过下一步方式完成

$field = $form->field($model,'field',[
     'options'=>
           [
             'tag'=>'div',
             'class'=>'checkbox icheck'
           ],
      'selectors'=>[
           'error'=>'span.error'
           ]
       ]
   );
   echo $field->begin();
  ?>
    <label><?php 
       echo \yii\helpers\Html::activeCheckbox($model,'field');
    ?></label>
  <?php
       echo \yii\helpers\Html::error($model,'field',
                       ['class'=>'error','tag'=>'span' ]);

 <?php 
        echo $field->end();
像这样的东西。

答案 1 :(得分:1)

我做到了。
对于那些正在寻找的人:

    WITH CusPerCity AS     -- get client counts per city
    (
    SELECT
        CustCity,
        COUNT(Distinct c.CustomerId) CustomersPerCity
    FROM Orders o
    JOIN Customer c 
        ON o.customerid = c.customerid
    GROUP BY CustCity
    )   


    SELECT 
        e.EmployeeID,
        e.Empfname + ' ' + e.Emplname Name

    FROM Orders o
    JOIN Customer c 
        ON o.CustomerID = c.CustomerId
    JOIN Employee e 
        ON o.SalesPerson = e.Employeeid
    JOIN Branch b
        ON e.EMPBRANCH = b.BranchManager
    JOIN CusPerCity cus 
        ON b.BranchCity = cus.CustCity
    WHERE c.CustCity = b.BranchCity
    GROUP BY e.Employeeid, e.EMPFNAME + ' ' + e.EMPLNAME, CustomersPerCity
    HAVING COUNT(DISTINCT c.customerID) = cus.CustomersPerCity --number of unique customers sold to equals then number of customers in a city

它将使用div.col-sx-8

进行换行

答案 2 :(得分:0)

$form->field($item, "[$i]selected")->checkBox()->label(false)不适用于复选框,但以下方法有效:

<?= $form->field($item, "[$i]selected")->checkBox(['label'=>'']);?>

<?= $form->field($item, "[$i]selected")->checkBox(['label'=>null]);?>