<select name="country[]" multiple="multiple" id="type" class="medium" style="width:20%;height:300px;">
<option value="United States">United States</option>
<option value="Canada">Canada</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Australia">Australia</option>
<option>---------------------------------</option>
{foreach from=$country key=id item=n}
{foreach from=$cntry key=i item=name}
<option value="{$n}" {if $name == $n}SELECTED{/if}>{$n}</option>
{/foreach}
{/foreach}
</select>
出于某种原因,它会重复我在数组列表中的每个国家/地区4次,而不是从$cntry
中选择与$country
中匹配的国家/地区相匹配的那些国家/地区。
$cntry
(来自数据库中行的所选国家/地区),而$country
只是所有国家/地区的数组列表。
答案 0 :(得分:0)
你已经嵌套了你的循环。它们应该可以连续完成:
{foreach from=$country key=id item=n}
<option blah blah blah>
{/foreach}
{foreach from=$cntry key=i item=name}
<option blah blah blah >
{/foreach}
答案 1 :(得分:0)
您可以尝试这种方式:
{foreach from=$country key=id item=n}
{assign var=sel value=''}
{foreach from=$cntry key=i item=name}
{if $name == $n}{assign var=sel value='selected'}{/if}
{/foreach}
<option value="{$n}" {$sel}>{$n}</option>
{/foreach}