如何禁用yii2 ActiveFrom dropDownList中的一个项目?

时间:2015-07-30 10:01:05

标签: yii2

Yii2活动表格

<?= $form->field($model, 'pid')->dropDownList([1=>1,2=>2])->hint('上级分类') ?>

我想禁用选项2 =&gt; 2。

有办法吗?

4 个答案:

答案 0 :(得分:3)

您可以使用“选项”键为下拉列表中的所有项添加属性。假设您要禁用第二项。

<?= $form->field($model, 'pid')->dropDownList([1 => 1, 2 => 2], ['options' => [2 => ['disabled' => true]]])->hint('上级分类') ?>

在文档中: http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#activeDropDownList()-detail

答案 1 :(得分:2)

ActiveField dropDownlist()明确调用BaseHtml activeDropDownList()

从文档到ActiveField dropDownList()

  

标签选项的名称 - 值对。

     

有关可用选项的列表,请参阅$options   参数yii\helpers\Html::activeDropDownList()

从文档到BaseHtml activeDropDownList()

  

options:array,select选项标签的属性。阵列   键必须是有效的选项值,并且数组值是额外的   相应选项标签的属性。例如,

[
    'value1' => ['disabled' => true],
    'value2' => ['label' => 'value 2'],
];

所以传递这些选项:

[
    2 => ['disabled' => true],
],

作为dropDownList()的第二个参数。

答案 2 :(得分:2)

这肯定会有效:

<?= $form->field($model, 'pid')->dropDownList([1=>1,2=>2], ['options'=>['2'=>['disabled'=>true]]]) ?>

答案 3 :(得分:0)

试试这个:

$disableDataArr['1'] =  ['disabled' => true];
dropDownList( $dataArr, ['options'=> $disableDataArr ])