0
<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只是所有国家的数组列表。

4

2 回答 2

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}
于 2012-11-09T15:45:34.457 回答
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}
于 2012-11-09T15:20:33.990 回答