我有表types
,我想selectbox
用这个表中的所有值构建在我的控制器中我写了这段代码
$allRegistrationTypes = RegistrationType::model()->findAll();
$this->render('index', array('allRegistrationTypes' => $allRegistrationTypes))
如何在视图文件中构建选择框?
那么它非常简单,您需要做的就是首先创建列表数据,例如
CHtml::ListData(allRegistrationTypes,'value you want to pass when item is selected','value you have to display');
例如
typeList = CHtml::ListData(allRegistrationTypes,'id','type');
现在记住id 和 type 都是表中的字段
现在你所要做的就是如果你正在使用表单那么
<?php echo $form->dropDownList($model, 'type_id', $typeList, array('empty'=>'Select a tyoe')); ?>
如果您需要多个,您可以将multiple => multiple
数组作为 htmlOptions传递
您将使用CHtml::dropDownList
, 或者activeDropDownList
如果有一个“父”模型并且您想利用它的验证规则。
如果要使<select>
元素具有多选功能,请传入'multiple' => 'multiple'
并'size' => X
作为$htmlOptions
参数的一部分。
在 YII 框架中获取“选择框”的最简单方法:
<div class="row">
<?php
echo $form->labelEx($model,'county');
$data = CHtml::listData(County::model()->findAll(), 'id', 'county');
$htmlOptions = array('size' => '1', 'prompt'=>'-- select county --', );
echo $form->listBox($model,'county', $data, $htmlOptions);
echo $form->error($model,'county');
?>
</div>
祝你好运..