在Yii2中创建下拉列表


Creating a dropdown list in Yii2

我正试图在Yii2中创建一个下拉选择列表,但考虑到没有示例,我发现它的文档有点混乱。

有人能用一些例子更好地解释一下吗?比如,如果我想创建一个下拉列表,我该怎么做?

样品:

<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 using model。所以下面的代码将适用于您。

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