下面的代码是我最近的尝试。已经有许多人:如何实现动态rowspan
的Javascript:
...
var issueArray = [];
_.each(issueGroups, function(i) {
var x = {
issue: i[0].issue,
comment: i[0].comment,
count: i.length,
new_row: 1
};
issueArray.push(x);
});
issueArray[0].new_row = 0;
var x = {
test: t[0].test,
issues: issueArray,
rowspan: issueArray.length
};
finalResult.push(x);
});
return finalResult;
这里要注意的重要一点是,对于finalResult
每个元素有一个数组称为issues
,有一个叫new_row
部件,其为所有,但为真第一行。
模板:
...
<tbody>
{{#each failuresByTest}}
<tr>
<td rowspan="{{rowspan}}">{{test}}</td>
{{#each issues}}
{{#if new_row}}
</tr>
<tr>
<td><a href="https://www.bughost.com/browse/{{issue}}">{{issue}}</a></td>
<td>{{comment}}</td>
<td>{{count}}</td>
{{else}}
<td><a href="https://www.bughost.com/browse/{{issue}}">{{issue}}</a></td>
<td>{{comment}}</td>
<td>{{count}}</td>
{{/if}}
{{/each}}
</tr>
{{/each}}
</tbody>
...
我的数据是这样的的finalResult
第一要素有3个问题。我希望它看起来像这样:
<tr>
<td rowspan="3">Test1</td>
<td>123</td>
<td>Bug 1</td>
<td>2</td>
</tr>
<tr>
<td>456</td>
<td>Bug 2</td>
<td>21</td>
</tr>
<tr>
<td>654</td>
<td>Bug 4</td>
<td>3</td>
</tr>
但它结束了看起来像这样:
<tr>
<td rowspan="3">Test1</td>
<td>123</td>
<td>Bug 1</td>
<td>2</td>
<td>
<table>
<tr>
<td>456</td>
<td>Bug 2</td>
<td>21</td>
</tr>
<tr>
<td>654</td>
<td>Bug 4</td>
<td>3</td>
</tr>
</table>
</td>
</tr>
然而流星不喜欢这一点。我得到:
=> Errors prevented startup:
While processing files with templating-compiler (for target web.browser):
client/templates/runs/run_page.html:128: Unexpected HTML close tag
</tr> <tr> <td><a h...
这扯到我如此糟糕,我最后决定将行标签错误地解决这个问题,然后将它错误地显示出来。我现在已经编辑了相应的问题,因为这是我真正的问题。
我该如何解决这个问题,并说服流星,其实我知道比它更好!
我得到了我的
我想我会编辑这个问题,以反映我真正的问题,迫使我在这里。 – AlastairG