Yii:在表单中使dropDownList只读/禁用

时间:2015-03-29 04:46:44

标签: php yii

我正在尝试使用DropDownList只读或禁用表单以获取更新条件,但我的代码无效...

echo $form->dropDownListRow($model, 'sem_id', CHtml::listData(Sem::model()->findAll(), 'id', 'title'/*, array("disabled" => "disabled")*/ , array('readonly' => 'readonly') ));

错误:call_user_func()期望参数1是有效的回调,数组必须只有两个成员

2 个答案:

答案 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'])
?>