问题描述:
用section循环,只能循环成一列。也就是一个tr只能带一个td。
现在要实现一个tr带两个td。
解决方案:
判断序号,根据奇偶来决定什么时候出现<tr>开始,什么时候出现</tr>结束。
偶数时开始,奇数时结束。
这样,就能实现一个tr中可以包含多个td了。
代码:
<!--{section loop=$aUserAnswer name=data step=1}--> <!--{if $smarty.section.data.index is even}--> <tr bgcolor="#f7f7f7" height="50" align="left"> <!--{/if}--> <td class="font14_s pl40"> <!--{$aUserAnswer[data].realname}-->: <input type="text" class="input_233" value="<!--{$aUserAnswer[data].score}-->"/></td> <!--{if $smarty.section.data.index is odd}--> </tr> <!--{/if}--> <!--{if $smarty.section.data.last}--> <!--{if $smarty.section.data.index is even}--> <td class="font14_s pl40"> </td> </tr> <!--{/if}--> <!--{/if}--> <!--{/section}-->
代码解析:
通过$smarty.section.data.index来进行判断,如果是偶数,则<tr bgcolor="#f7f7f7" height="50" align="left">
如果是基数则</tr>
通过if $smarty.section.data.last判断最后一个元素是奇偶,如果是偶数,则补上一个td+一个tr。
这样问题就得到解决了。
效果图如下: