Yii2 带有来自数据库的复选框的可选文本框
Yii2 Optional textbox with Checkbox from database
我正在使用以下代码从数据库中生成复选框。我需要为某些选项添加可选文本框。任何人都可以给我线索来添加它吗?
$form->field($model_detail, 'DOCUMENT_TYPE_ID')
->checkboxList(
$listData,array('separator'=>'<BR />')
)->label('Select Document(s)');
您应该扩展 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;
}
}
我正在使用以下代码从数据库中生成复选框。我需要为某些选项添加可选文本框。任何人都可以给我线索来添加它吗?
$form->field($model_detail, 'DOCUMENT_TYPE_ID')
->checkboxList(
$listData,array('separator'=>'<BR />')
)->label('Select Document(s)');
您应该扩展 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;
}
}