2016-09-06 5 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> 

をしかし、私はvalue属性なしで出力したいです内部オプション、のように:

<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

フォームを送信するときに値の属性がない2016. – Alex

+0

の代わりに値0が得られるので、どのオプションが選択されて送信されたかはどのように分かりますか? –

答えて

0

これを試してみてください: これは、ドロップダウン呉を作成します。値が2016ではなく0であることを示します。

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

ありがとう、私はその解決策を考えていた。しかし、Yii2ではvalue属性のないドロップダウンリストを作成することは可能ですか? – Alex

+0

あなたには役に立たないでしょう。あなたはフォームを提出した後に何の価値も得られません。 – Ish

+0

値の属性が定義されていないと、通常のPHPのようにオプションテキストが値として使用されると思うので、年のドロップダウンの場合にのみ必要です。私が間違っていたら私を修正してください? – Alex

関連する問題