2016-09-06 70 views
1

我用下面的代码创建一个年下拉列表中值的属性:Yii2下拉列表中选择无元素

<?php 
$range = range(2016, 2026); 
echo $form->field($model, 'year')->dropDownList($range)->label("Year"); 
?> 

它输出:

<select id="testform-year" class="form-control" name="TestForm[year]"> 
    <option value="0">2016</option> 
    <option value="1">2017</option> 
    <option value="2">2018</option> 
    <option value="3">2019</option> 
    <option value="4">2020</option> 
    <option value="5">2021</option> 
</select> 

但我想没有任何价值属性的输出内部选项,如:

<select id="testform-year" class="form-control" name="TestForm[year]"> 
    <option>2016</option> 
    <option>2017</option> 
    <option>2018</option> 
    <option>2019</option> 
    <option>2020</option> 
    <option>2021</option> 
</select> 
+0

为什么你想要没有价值的属性? – Ish

+0

因为当我提交表单时,我得到的值为0而不是2016. – Alex

+0

没有值属性,您如何知道选择并提交了哪个选项? –

回答

0

试试这个: 这将创建下拉菜单th值为2016而不是0.

<?php 
$range = range(2016, 2026); 
echo $form->field($model, 'year')->dropDownList(array_combine($range, $range))->label("Year"); 
?> 
+0

谢谢,我在想那个解决方案。但是是否可以在Yii2中创建没有value属性的dropdownlist? – Alex

+0

它不会对你有任何用处。提交表单后,您不会得到任何价值。 – Ish

+0

只想在今年下拉的情况下,因为我认为,如果没有定义值属性选项文本将被用作值,就像我们在正常的PHP中做的那样。如果我错了,请纠正我? – Alex