我正在尝试使用DropDownList
只读或禁用表单以获取更新条件,但我的代码无效...
echo $form->dropDownListRow($model, 'sem_id', CHtml::listData(Sem::model()->findAll(), 'id', 'title'/*, array("disabled" => "disabled")*/ , array('readonly' => 'readonly') ));
错误:call_user_func()期望参数1是有效的回调,数组必须只有两个成员
答案 0 :(得分:3)
首先,您应该dropDownList
而不是dropDownListRow
。此外,您忘记在)
之后使用'title'
并且您应该使用"disabled" => "disabled"
代替'readonly' => 'readonly'
。我不认为他们在html标签中有readonly属性。
echo $form->dropDownList($model, 'sem_id', CHtml::listData(Sem::model()->findAll(), 'id', 'title'), array("disabled" => "disabled"));
这可以使禁用下拉列表,但请注意,您不能在html属性上进行中继。因为用户可以轻松删除此属性并可以更改下拉值。所以你需要对服务器进行控制。
答案 1 :(得分:2)
Yii 2下拉列表的工作示例禁用:
<?=
$form->field($model, 'customer_status')->dropDownList([
'0' => 'Requested',
'1' => 'Registered',
'3' => 'Un-Rgistered',
'2' => 'Disabled'
], ['disabled' => 'disabled'])
?>