我正试图在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']
);
?>