yii2 htmlhelper 下拉列表值

yii2 htmlhelper dropdownlist values

我有一个数组如下:

array[$key][$value]

我正在使用它在我的视图中形成一个 dropDownList。我没有使用 ActiveForm,因为数组不是来自模型。

echo Html::dropDownList("Listname","",$array,['prompt' => '--- select ---']) ;
echo Html::dropDownList("Listname","",ArrayHelper::map($array,'id','value'),['prompt' => '--- select ---']) ;

Var_dump

array(2) { [0]=> string(6) "value1" [1]=> string(6) "value2" [3]...}

输出 html 看起来像这样

<select name="Listname" >
<option value>---select---</option
<option value="0">Value1</option>
<option value="1">Value2</option>
<option value="2">Value3</option>
<option value="3">Value4</option>
</select>

如何将值设置为 = 到名称?比如

<option value="value1">Value1</option>
<option value="value2">Value2</option>
<option value="value3">Value3</option>
<option value="value4">Value4</option>

我意识到我可能不得不以某种方式使用 ArrayHelper,但我就是不太明白。那,或者 htmlhelper.

中的选项标签

提前致谢!

你有:

echo Html::dropDownList("Listname","",ArrayHelper::map($array,'id','value'),['prompt' => '--- select ---']) ;

如果您希望每个输入的值与其内容相同,则应为:

echo Html::dropDownList("Listname","",ArrayHelper::map($array,'value','value'),['prompt' => '--- select ---']) ;

有关详细信息,请查看官方 ArrayHelper::map 文档:http://www.yiiframework.com/doc-2.0/yii-helpers-basearrayhelper.html#map()-detail

您必须记住 Html::dropDownList 需要一个键=>值数组,如何获得该数组并不重要。我的意思是,顾名思义,ArrayHelper 只是一个助手。觉得方便的话可以自己搭建阵列。