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>

更新:基于杰拉德在评论中的精彩观点。

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 回答