smarty section循环成两列的问题

本文提供了一种使用smarty循环和条件判断实现表格中tr包含多个td的方法,通过根据序号的奇偶性来决定tr的开始与结束,从而达到在一个tr中显示多个td的效果。

问题描述:

用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">&nbsp;<!--{$aUserAnswer[data].realname}-->:&nbsp;&nbsp;<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">&nbsp;</td>
            </tr>
            <!--{/if}-->
            <!--{/if}-->
            <!--{/section}-->

代码解析:

通过$smarty.section.data.index来进行判断,如果是偶数,则<tr bgcolor="#f7f7f7" height="50" align="left">

如果是基数则</tr>

通过if $smarty.section.data.last判断最后一个元素是奇偶,如果是偶数,则补上一个td+一个tr。

这样问题就得到解决了。

效果图如下:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值