【发布时间】:2016-04-26 20:38:42
【问题描述】:
您好,我正在尝试创建一个包含选定值的下拉列表,但仍然没有任何进展,下拉列表正在渲染,但始终选择第一个选项。
$company_id = (int) $params['company_id'];
$options = [
'options' => [
$company_id => [
'selected' => 'selected',
'label' => 'test'
]
]
];
echo $form->field($model, 'company_id')->dropDownList($companies_list, $options);
该代码有什么问题?我编辑了我的代码并在我的选项中设置了 'label' => 'test' ,这有效,但仍然没有选择
找到好的解决方案,在我在 renderSelectionOptions 方法中找到的框架代码中:
$attrs = isset($options[$key]) ? $options[$key] : [];
$attrs['value'] = (string) $key;
$attrs['selected'] = $selection !== null &&
(!is_array($selection) && !strcmp($key, $selection)
|| is_array($selection) && in_array($key, $selection));
所以我需要做的就是:
$model->company_id = $company_id;
渲染部分之前
【问题讨论】:
-
作为一个建议,如果您已经回答了您的问题,请将其写为答案并接受它(这样其他人找到答案会更舒服)。
-
@szapio 我也面临同样的问题,你能解释一下如何为依赖下拉菜单执行此操作吗?请参阅下面的问题链接click here
-
@szapio 你能说我在哪里可以使用这两个代码 $model->company_id = $company_id;和 $attrs = isset($options[$key]) ? $options[$key] : []; $attrs['value'] = (string) $key; $attrs['selected'] = $selection !== null && (!is_array($selection) && !strcmp($key, $selection) || is_array($selection) && in_array($key, $selection));因为我也面临同样的问题
标签: drop-down-menu selected yii2