Home » Php » php – yii2: make checkbox to be checked

php – yii2: make checkbox to be checked

Posted by: admin July 12, 2020 Leave a comment

Questions:

I am using Yii2 framework and I’d like to generate an html code like this

<input type="checkbox" id="queue-order" name="Queue[order]" value="1" checked>

in a view which uses ActiveForm.

I’ve tried

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'checked' => true]); 

as well as

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'checked' => 'checked']); 

but desired string “checked” does not appear in the generated html code.

Strangely enough, if I substitute “checked” with “selected”

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'selected' => true]); 

then generated html code contains attribute “selected”:

<input type="checkbox" id="queue-order" name="Queue[order]" value="1" selected>

So, how can I generate html code for a checkbox with attribute “checked”?

How to&Answers:

I guess this checkbox will be checked only if $model->order property take true value and if it has false (0 or null or false etc) value – field will be unchecked.

Answer:

if your are setting an external value in checkbox.

<?php $model->order = "02256"; ?>
<?= $form->field($model, "order")->checkbox(['value' => "02256"]); ?>

Answer:

echo $form->field($model, 'Status')->checkbox(['uncheck' => 'Disabled', 'value' => 'Active']);