在 Yii2 中创建下拉列表

Creating a dropdown list in Yii2

我正在尝试在 Yii2 中创建下拉 select 列表,但我发现 documentation 考虑到没有示例,因此有点令人困惑。

有人可以尝试用一些例子更好地解释它吗,比如如果我想创建一个如下所示的下拉列表,我该怎么做?

样本:

<select name="foo" id="bar" onchange="run()">
    <option value="">Select Pet Type</option>
    <option value="fish">Fish</option>
    <option value="dog">Dog</option>
    <option value="cat">Cat</option>
    <option value="lizard">Lizard</option>
</select>

你可以试试这个:

<?= Html::dropDownList('foo', null, [
    'fish' => 'Fish',
    'dog' => 'Dog',
], ['id' => 'bar', 'prompt'=>'Select Pet Type', 'onchange' => 'run()']) ?>

或者用表格和模型:

<?= $form->field($model, 'attribute')->dropDownList([
    'fish' => 'Fish',
    'dog' => 'Dog',
], ['id' => 'bar', 'prompt'=>'Select Pet Type', 'onchange' => 'run()']) ?>

你也可以检查这个,它会运行。

<?php $dataList = Array('fish' => "Fish", 'dog' => "Dog", 'cat' => "Cat", 'lizard' => "Lizard"); ?>
<?php echo Html::dropDownList('foo', null, $dataList, [
    'class' => 'form-control',
    'id' => 'bar',
    'prompt' => 'Select Pet Type',
    'onchange' => 'run()'
]); ?>

您可以使用该模型,因为它有助于您分配值和执行验证以及其他有用的功能,例如使用模型的 beforeSave 或 beforeValidate。所以下面的代码对你有用。

           <?php
           echo $form->field($model, 'foo')
                ->dropDownList(
                    ['fish' => 'Fish', 'dog' => 'Dog', 'cat' => 'Cat', 'lizard' => 'Lizard'],
                    ['prompt' => 'Select Pet Type', 'id' => 'bar']
                );
            ?>