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

标签 javascript html netsuite freemarker suitescript

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

仅当当前任务是第一个任务或与上一个任务不同时,我才想在自己的行上显示该任务。 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/

相关文章:

html - 垂直居中图像旁边的导航菜单(CSS)

html - 如何用html格式化文本

javascript - ('click' 上的 JQuery)在单击时不起作用

c# - 网络套件 API : Update Custom Object Field

javascript - React 的问题(刚刚开始学习)

Grails 的 GSP 页面中的 JavaScript

java - 如何在java中的netsuite中使用tokenpassport

javascript - Netsuite suitelet + 将数据从 Get 传递到 Post

javascript - 谷歌可视化时间轴图表日期奇怪地少了一个月......我错过了什么?

javascript - Node.js/Sequelize.js/Express.js - 如何插入多对多关联? (同步/异步?)