0
如果遇到這種情況,我真的有麻煩了。 對於每個Smarty - 如果還有其他選項可能會遇到困難
{foreach $values as $value}
{if $value = a}
do action
{elseif $value = b}
do action
{elseif $value = c}
do action
{/if}
{/foreach}
我只是想爲整個的foreach爲「做動作」一次。對於任何一個迭代的foreach,不同的條件(a b或c)可能會是= to $ value
我正在處理的真實世界示例是將「selected」添加到下拉選項。
<select>
{foreach $offices as $office}<!-- The if below is done so that the form is sticky, and when editing a post, it shows the post's current setting.-->
<option
{if $smarty.post.OfficeCode == $office.OfficeCode}
selected='selected'
{elseif $bulletin_array[0].OfficeCode == $office.OfficeCode}
selected='selected'
{elseif $office.OfficeCode == $UsersOffice}
selected='selected'
{/if}
title='{$office.Description}' value='{$office.OfficeCode}'>{$office.Title}
</option>
{/foreach}
</select>
第一,如果表已submited如果爲真 - 使窗體粘 第二部分將是真實的形式編輯記錄時被預填充 - 即prefil與形式當前值 如果用戶正在創建新記錄,則第三部分將爲真,在這種情況下,將其設置爲用戶通常使用的默認選項。 我需要一些只允許選擇添加一次的方法。 我php我會有一個變量之外的foreach被設置爲真如果選擇被添加。然後我會檢查該變量,然後再執行if elseif
這不起作用,因爲每個選項至少有一個選項是正確的。這意味着所有選項都會被標記爲選中 – andrew 2011-02-08 22:42:42