在Yii2中创建下拉列表

时间:2015-02-18 16:28:18

标签: php yii yii2

我试图在Yii2中创建一个下拉列表选择列表,但考虑到没有示例,我发现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>

3 个答案:

答案 0 :(得分:1)

你可以试试这个:

<?= 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()']) ?>

答案 1 :(得分:0)

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

<?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()'
]); ?>

答案 2 :(得分:0)

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

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