我正在使用jsRender,我希望将数据显示为列而不是我返回的行。我想转移数据 - 这是可以用jsRender完成的。我无法在SQL中获取数据,所以我唯一的选择就是自己动手。
这基本上就是我所追求的。我想自己编写列名。
标题|第1行|第2行|第3行|
Column Blah |行数据|行数据|行数据
更多等等行数据|行数据|行数据
我曾尝试将{{for}}循环用于表格单元格,但我不知道从哪里开始。
更新: 在Boris的建议之后,我尝试了建议的代码。虽然我没有正确格式化,但我已将其包含在此处。
这是我的JSON来源的摘录:
{
"Layers": {
"Layer": [
{
"@LayerID": "1",
"RiskRef": {
"@ColVal": "Contract/Section Number",
"#text": "PUSNA11000392/1"
},
"ContractStatus": {
"@ColVal": "New, Renewal or NTU?",
"#text": "New"
},
"AdjustRate": {
"@ColVal": "Adjustable Rate",
"#text": "0.53%"
},
我的jsRender javaScript代码是:
<script id="xolDetailsTemplate" type="text/x-jsrender">
{{for Layers}}
{{for >#data["Layer"]}}
<td>{{>#data["@LayerID"]}}</td>
{{/for}}
{{/for}}
</script>
答案 0 :(得分:1)
如果您的数据是
model = { people: [{firstName: "Jo", lastName: "Colby"}, ...] }
您可以使用以下模板呈现人员数组,将行数转换为列:
<tbody>
<tr><td>First Name</td>{{for people}}<td>{{>firstName}}</td>{{/for}}</tr>
<tr><td>Last Name</td>{{for people}}<td>{{>lastName}}</td>{{/for}}</tr>
</tbody>
在下面的评论中,您说您的数据的字段名称为“@foo”。让我们考虑这个例子:
model = { "people": [{"@firstName": "Jo", "@lastName": "Colby"}}, ...] }
。
您可以使用模板进行渲染,如下所示:
<tbody>
<tr><td>First Name</td>{{for people}}<td>{{>#data["@firstName"]}}</td>{{/for}}</tr>
<tr><td>Last Name</td>{{for people}}<td>{{>#data["@lastName"]}}</td>{{/for}}</tr>
</tbody>
如果字段名称包含非JavaScript名称字符,例如“@”,则需要使用语法#data["@xxx"]
。