我需要以某种方式在我的页面上显示一个清单。清单包含在一个数组中,我目前正按以下方式循环:
<div class="width-100"> <!---- this is the main container --->
<cfloop from="1" to="#ArrayLen(steps)#" index="alpha">
<cfif (alpha MOD 2) EQ 1>
<div class="width-100"> <!--- this is the start of a 'row' --->
</cfif>
<div class="width-50"> <!--- this is a 'step' --->
#steps[alpha].StepNum.xmltext#
<input class="f-right" type="checkbox" />
</div>
<cfif (alpha MOD 2) EQ 0>
</div> <!--- end of a 'row' --->
</cfif>
</cfloop>
</div>
上面的代码给我一个这样的清单,其中的步骤在'列'之间交替:
当我需要的是这样的清单时,前半部分步骤在第一列,后半部分在第二列:
我需要保持上面列出的div结构,其中一个100%div包含2个50%divs w / checklist步骤。我猜有一种聪明的方法可以做到这一点(可能有更多的MOD?),但我看不到它。
答案 0 :(得分:2)
如果要垂直而不是水平地进行,只需以不同方式构建行。首先弄清楚你正在使用多少行:
<cfset numrows = Ceiling(ArrayLen(steps)/2) >
因此,对于10条记录,您将得到5行。如果奇怪的话,天花板电话就会四舍五入。
<div class="width-100"> <!---- this is the main container --->
<cfloop from="1" to="#numrows#" index="alpha">
<div class="width-100"> <!--- this is the start of a 'row' --->
<div class="width-50"> <!--- this is a 'step' --->
#steps[alpha].StepNum.xmltext#
<input class="f-right" type="checkbox" />
</div>
<div class="width-50"> <!--- this is a 'step' --->
<cfif isDefined("steps[alpha+numrows].StepNum.xmltext")>
#steps[alpha+numrows].StepNum.xmltext#
<!--- next to step 1 you get step 6 --->
<input class="f-right" type="checkbox" />
</cfif> <!--- cfif because last one won't be defined if odd --->
</div>
</div> <!--- end of a 'row' --->
</cfloop>
</div>