Javascript 在HTML中呈现时如何对记录进行分组
我有一组从后端获取的记录,并使用javascript代码按类别分组返回 实际上,这些记录只是通过字符串连接以HTML呈现,如下所示: 知识库编号1-简短描述-类别1 知识库编号2-简短描述-类别2 知识库编号3-简短描述-类别1 知识库编号4-简短描述-类别5 知识库编号5-简短描述-类别6 知识库编号6-简短描述-类别7 知识库编号7-简短描述-类别5 我试图表示的是上面以HTML呈现的记录集,如下所示: 类别1: 知识库编号1-简短说明 知识库编号3-简短说明 第2类: 知识库编号2-简短说明 第5类: 知识库编号4-简短说明 知识库编号7-简短说明 第6类: 知识库编号5-简短说明 第7类: 知识库第6号-简短说明 如何呈现HTML,以便每个组只重复一次类别 下面是用特定字符串表示它们的示例代码:Javascript 在HTML中呈现时如何对记录进行分组,javascript,html-table,servicenow,jelly,Javascript,Html Table,Servicenow,Jelly,我有一组从后端获取的记录,并使用javascript代码按类别分组返回 实际上,这些记录只是通过字符串连接以HTML呈现,如下所示: 知识库编号1-简短描述-类别1 知识库编号2-简短描述-类别2 知识库编号3-简短描述-类别1 知识库编号4-简短描述-类别5 知识库编号5-简短描述-类别6 知识库编号6-简短描述-类别7 知识库编号7-简短描述-类别5 我试图表示的是上面以HTML呈现的记录集,如下所示: 类别1: 知识库编号1-简短说明 知识库编号3-简短说明 第2类: 知识库编号2-简短说
GlideRecordSecure('u_kb_template_sharepoint_document');
kb.addQuery('cmdb_ci',current.sys_id);
kb.addQuery('latest',true);
kb.orderBy('kb_category');
kb.query();
"/>
<j2:if test="$[kb.next()]" >
<tr>
<td class="label label_spacing">
<span style="margin-right:3px; margin-left:1px;">$[SP]</span>
${gs.getMessage('Attached knowledge:')}
</td>
<td>
<g2:evaluate>
var hasMore = true;
var category = kb.getDisplayValue('kb_category');
</g2:evaluate>
<j2:while test="$[hasMore]">
<div>
<img src="images/nav_bult.gifx" alt="${gs.getMessage('Knowledge Base Article')}" />
<a class="obvious" target="_blank" href="$[kb.u_kb_url]">$[HTML:kb.number] - $[HTML:kb.short_description] - $[category]</a>
</div>
<g2:evaluate>
hasMore = kb.next();
</g2:evaluate>
</j2:while>
</td>
</tr>
</j2:if>
GlideRecordSecure('u_kb_模板_sharepoint_文档');
kb.addQuery('cmdb\u ci',当前的.sys\u id);
kb.addQuery('latest',true);
kb.orderBy('kb_类别');
kb.query();
"/>
$[SP]
${gs.getMessage('附加知识:')}
var hasMore=真;
var category=kb.getDisplayValue('kb_category');
hasMore=kb.next();
我如何才能将其更新为分组,未发现
请注意,此脚本是ServiceNow中Jelly元素的一部分
谢谢首先,这并不是一个真正的HTML问题,尽管您当然需要考虑如何直观地表示它。也就是说,结果将是一个包含动态条目的表 现在,关于主要问题——“如何只显示一次类别”——您需要在javascript中执行类似的操作(伪代码)——假设“记录”是一个包含这7条记录的数组
- records.sort(按类别)-->假设字符串尚未连接,并且您可以作为单个变量访问类别
- 记录。foreach(项目){ 将上一个项目与当前项目进行比较 如果不同,创建新的HTML行,打印类别(否则保持在同一行) 如果类别相同,只需附加字符串 previousitem=项目 }
-->因此,您可以按“类别”对数据进行排序,从而将它们分组到数据中的每个记录旁边。然后可以将每个记录与下一个记录进行比较,以便为生成相应的HTML设置正确的逻辑。请向我们展示您尝试过的内容以及代码的外观。我的示例代码snipet显示了连接的部分,但是d不知道如何进行分组这是我不熟悉的关于如何构建动态html的方法,你有样本吗?因此,我不知道Jelly和ServiceNow是否适用于此上下文,因此这扩大了原始问题的范围。但基本上,你需要在html结构的正确位置注入逻辑。我看到你已经有了“orde”rby(Category)“”在您的逻辑中。现在您需要在标记前面放置(如果previouscategory=currentcategory)。也就是说,只有在新类别出现时才有“”标记。