javascript - 在freemarker模板中有条件地显示行

标签 javascript html netsuite freemarker suitescript

我正在根据JSON对象的排序数组创建PDF,并按任务排序,其中每个对象(例如JSON.arr[0] == i,包含备忘录,费率,金额和taskText。

我想仅在当前任务是第一个任务或与前一个任务不同的情况下才单独显示该任务。 taskText没有显示任何内容。

<#if JSON?has_content>
<table>
  <tr>
    <th colspan="5">MEMO</th>
    <th>RATE</th>
    <th>AMOUNT</th>
    </tr>
  <#list JSON.arr as i>
    <#if i?first>
      <#assign task = i.taskText>
      <tr><td>${i.taskText}</td></tr>
    </#if>
    <#if i.taskText != task>
      <#assign task = i.taskText>
      <tr><td>${i.taskText}</td></tr>
    </#if>
    <tr>
      <td colspan="5">${i.memo}</td>
      <td>$${i.rate}</td>
      <td>$${i.amount}</td>
    </tr>
  </#list>
</table>
</#if>

最佳答案

使用内置的?is_first代替?first。用于检查当前项目是否是当前列表中的第一项。

对于其他要求,我建议在循环之前为task分配一个初始值。很有可能任务从未设置为null以外的任何内容,因此比较失败。

关于javascript - 在freemarker模板中有条件地显示行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51026479/

相关文章:

php - (Ajax + PHP) 我的谷歌地图消失了

javascript - JS如何通过服务器脚本在客户端上存储数据

html - 如何在特定区域制作一个跟随其用户的垂直条?

Netsuite 记录器字符串太长,无法显示在详细信息字段中

c# - 是否可以使用 TBA 作为身份验证方法找到 netsuite 员工的角色?

javascript - 使用 twig 重构 ajax

javascript - 如何在 Class 对象中使用 requestAnimationFrame

xml - 水平居中的 div,旁边有一个 div,有点响应式

javascript - 如何控制复制到剪贴板的文本

javascript - 从Netsuite仪表板隐藏标准选项卡