2016-06-07 7 views
0

ich hinzufügen möchte hinzufügen, wenn sonst für Checkbox in _formCreate.phpyii2: wie wenn für aktiviert oder deaktiviert Checkbox in _form.php

dies mein Checkbox ist:

<div class="col-lg-6 height3"> 
     <p class="col-lg-8">سرگرمی</p> 
<?= $form->field($model, 'c2')->input('checkbox', ['id' => '', 'value'=> '2', 'class' => 'col-lg-4 chb'])->label('') ?> 

    </div> 
      <div class="col-lg-6 height3"> 
       <p class="col-lg-8">خدماتی</p> 
<?= $form->field($model, 'c3')->input('checkbox', ['id' => '', 'value' => '3', 'class' => 'col-lg-4 chb'])->label('') ?> 

      </div> 

ich diese Variable in dieser Form $checkBox mit diesen Daten:

array(3) { [0]=> array(1) { ["project_type_id"]=> string(1) "2" } [1]=> array(1) { ["project_type_id"]=> string(1) "3" } [2]=> array(1) { ["project_type_id"]=> string(1) "5" } } 

, wie wenn für <?= $form->field... hinzufügen und überprüfen, ob mit meinem Array und das Kontrollkästchen aktiviert!

Antwort

0

Wenn Modell Attribut gesetzt und Modellwert Attribut == Checkbox Wert wird dann Checkbox

geprüft
<?php 
if(in_array('2', ArrayHelper::map($checkBox, 'project_type_id', 'project_type_id'))) $model->c2 = '2'; 
if(in_array('3', ArrayHelper::map($checkBox, 'project_type_id', 'project_type_id'))) $model->c3 = '3'; 
?> 

<?= $form->field($model, 'c2')->input('checkbox', [ 
    'id' => '', 
    'value' => '2', 
    'class' => 'col-lg-4 chb' 
])->label('') ?> 

<?= $form->field($model, 'c3')->input('checkbox', [ 
    'id' => '', 
    'value' => '3', 
    'class' => 'col-lg-4 chb' 
])->label('') ?> 
+0

jedoch beim Check-in Das Kontrollkästchen ist falsch. wie zu finden ('checked' => in_array (...) Dokument für die Arbeit mit dieser!? – Saltern

+0

aber wenn ich 'checked' => true zu meinem Code Checkbox ist nur für einen Moment und Automatische unchecked ! wieder – Saltern

+0

aktualisieren meine Antwort – Vitaly

1

Wenn ich Sie recht verstehe, dann können Sie Logik für Checkbox schreiben (Modell des Attributs) am Anfang der Aussicht. Zum Beispiel, wenn Ihr Modells der Namen 'Yü' ist, dann sollte Checkbox im Code automatisch überprüft werden, ich es auf diese Weise schreiben würde:

<?php 

/* @var $this yii\web\View */ 
/* @var $model SomeModel */ 

if($model->name == 'Yii') $model->c2 = true; 

?> 

Dann in Form:

<div class="col-lg-6 height3"> 
    <p class="col-lg-8">سرگرمی</p> 
    <?= $form->field($model, 'c2')->checkbox()->label('') ?> 
</div> 
<div class="col-lg-6 height3"> 
    <p class="col-lg-8">خدماتی</p> 
    <?= $form->field($model, 'c3')->checkbox()->label('') ?> 
</div> 
+0

if (1 == 1) {$ modell-> c2 = wahr; } $ modell-> c2 = wahr; – Saltern

+0

Allerdings, das Kontrollkästchen ist nicht aktiviert. – Saltern

+0

aber wenn ich 'checked' => true zu meinem Code Checkbox ist nur für einen Moment überprüfen und Automatisch unchecked wieder! – Saltern

Verwandte Themen