我正在使用以下代码从数据库生成复选框。我需要为某些选项添加可选文本框。任何人都可以给我添加它的线索吗?
$form->field($model_detail, 'DOCUMENT_TYPE_ID')
->checkboxList(
$listData,array('separator'=>'<BR />')
)->label('Select Document(s)');
答案 0 :(得分:0)
您应该扩展ActiveField
并编写自定义checkboxList
方法。它可能看起来像这样:
class ProjectActiveField extends ActiveField
{
/**
* @inheritdoc
*/
public function checkboxList($items, $options = [])
{
$inputs = '';
foreach ($items as $id => $value) {
$input = Html::activeCheckbox($this->model, $this->$id, $options);
$description = $options['itemDescriptions'][$id];
if ($description) {
$input = '<div class="checkbox">' . $description . $input . '</div>';
}
$inputs .= $input;
}
$this->adjustLabelFor($options);
$this->parts['{input}'] = $inputs;
return $this;
}
}