在Yii2我试图选择一个特定的选项与Html::dropDownList使用optgroup。我可以使用嵌套数组创建下拉html但如何选择其中一个选项呢?我用什么作为$selection值?
这是我当前使用的代码行。如果让选择留空,一切工作正常,但一旦我试图选择一个特定的值,我不能让它工作。
echo Html::dropDownList(
'criteria',
['Page 1']['107141'],
[
'Page 1' => [
'107145' => 'Q1: some text',
'107141' => 'Q9: some text',
'107142' => 'Q10: some text',
'107143' => 'Q11: some text',
'107164' => 'Q14: some text',
],
'Page 2' => [
'107195' => 'some text',
],
],
[
'prompt' => [
'text' => 'Choose criteria',
'options' => []
],
'id' => 'criteriaSelector',
'class' => 'criteriaSelector',
'required' => 'required',
]
);
这里是下拉列表的Yii文档,但我不知道下一步该怎么做:https://www.yiiframework.com/doc/api/2.0/yii-helpers-basehtml dropDownList()细节
谢谢!
出于某种原因,我一直认为选择需要是一个数组元素,但是,当然,由于下拉选项名称必须是唯一的,选择只需要是一个字符串。解决方案如下:
echo Html::dropDownList(
'criteria',
'107141',
[
'Page 1' => [
'107145' => 'Q1: some text',
'107141' => 'Q9: some text',
'107142' => 'Q10: some text',
'107143' => 'Q11: some text',
'107164' => 'Q14: some text',
],
'Page 2' => [
'107195' => 'some text',
],
],
[
'prompt' => [
'text' => 'Choose criteria',
'options' => []
],
'id' => 'criteriaSelector',
'class' => 'criteriaSelector',
'required' => 'required',
]
);