1

smarty html_options でドロップダウン リストを表示しようとしています。ドロップダウンはうまく表示されますが、値は 0,1,2,3,4,5 として出力されます。

しかし、値を 100,150,200,250,300,350 にしたいです。

======PHP =========

$choice_set=array("A","B","C","D","E","F");
$choice_values=array(100,150,200,250,300,350);
$choice=250;

=====スマート=========

<select name="location">
{html_options values=$choice_values options=$choice_set selected=$choice}
</select>

これを整理するのを手伝ってください。

4

1 に答える 1

3

彼らのドキュメントから、選択のサイズビットに固執するのを忘れたようです。また、そうするoptions必要があると言っていますoutput(私には本当に悪い名前のように思えます)。このような:

<select name="location" size="{$choice_values|@count}">
    {html_options values=$choice_values output=$choice_set selected=$choice}
</select>

更新:コメントの Gerald の優れた点に基づいています。

options個別の配列の代わりに連想配列を定義した場合は、テンプレート値を使用できます。したがって、これも機能します。

======PHP =========

$choices = array(100 => "A, 150 => "B", 200 => "C", 250 => "D", 300 => "E", 350 => "F");
$choice=250;

=====スマート=========

<select name="location">
    {html_options options=$choices selected=$choice}
</select>

$smarty->assignまた、特にプロトタイプを作成したり、何かを変更したりするときに、変数を忘れることがよくありました。その点では、あなたはおそらく私よりも賢いですが、再確認する価値はあります。

見落としてすみません、smartyを使ってからしばらく経ちました。

于 2013-01-16T07:23:07.223 に答える