JSRender 将两个 "datasets" 传递给模板
JSRender pass two "datasets" to template
我有这个工作模板:
<script id="UpdateTemplate" type="text/x-jsrender">
<div class="ms-PanelPoultry">
<button class="ms-Button" id="*****" style="visibility: hidden";>
<span class="ms-Button-label">Open Panel</span>
</button>
<div class="ms-Panel ****">
<div class="ms-Panel-contentInner">
<p class="ms-Panel-headerText"></p>
<div class="ms-Panel-content">
<span class="ms-font-m">
<span style="color:#006; font-size:large">***</span>
<hr>
<form id="*****">
<table width="100%" border="0">
{{for}}
{{if (#index) % 3 === 0 }}
</tr>
<tr>
<td>
<div class="form-group">
<label for={{>name}}>{{>label}}</label>
<input type={{>type}} class="form-control" id={{>name}}>
</div>
</td>
{{else}}
{{if #index === 0 }}
<tr>
<td>
<div class="form-group">
<label for={{>name}}>{{>label}}</label>
<input type={{>type}} class="form-control" id={{>name}}>
</div>
</td>
{{else}}
<td style="padding-left:15px;">
<div class="form-group">
<label for={{>name}}>{{>label}}</label>
<input type={{>type}} class="form-control" id={{>name}}>
</div>
</td>
{{/if}}
{{/if}}
{{/for}}
</table>
<hr>
<table>
<tr>
<td>
<button type="submit" id="EditProductiebedrijfButton" class="btn btn-primary">Submit</button>
<button class="btn btn-secondary" type="Cancel" onClick="panelInstance.dismiss();">Cancel</button>
</td>
</tr>
</table>
</form>
</span>
</div>
</div>
</div>
</div>
</script>
它使用以下数据在 ms-panel 中创建一个表单:
var Updatefields = [
{ name: "field1", type: "text", label: "blabla" },
{ name: "field2", type: "text", label: "bla" },
{ name: "field3", type: "date", label: "blablaaa" }
];
这一切工作正常并呈现我的表单。但我想将一些额外的数据传递给 "header of the template"。 “*****”现在在哪里。例如 "form id".
我怎样才能做到这一点?
我还想对所有 "name" 值使用 "prefix"。例如名称是 "field3" 作为输入字段的 id 我想要 "field3Update"
我尝试进行一些字符串连接,但到目前为止失败了。
编辑:最后一个问题很简单。原来是这样做的:id={{>name}}Update
将附加数据作为数据与字段数组一起传递:
$("#xxx").render({
fields: fields,
other: otherData
});
otherData 在哪里
{
whatever: ...,
...
}
然后写
<form id="{{>other.whatever...}}...">
<table...>
{{for fields}}
或作为助手传递附加数据 (http://www.jsviews.com/#tmplrender@helpers):
$("#xxx").render(fields, otherData, true);
然后写
<form id="{{>~whatever...}}...">
<table...>
{{for}}
我有这个工作模板:
<script id="UpdateTemplate" type="text/x-jsrender">
<div class="ms-PanelPoultry">
<button class="ms-Button" id="*****" style="visibility: hidden";>
<span class="ms-Button-label">Open Panel</span>
</button>
<div class="ms-Panel ****">
<div class="ms-Panel-contentInner">
<p class="ms-Panel-headerText"></p>
<div class="ms-Panel-content">
<span class="ms-font-m">
<span style="color:#006; font-size:large">***</span>
<hr>
<form id="*****">
<table width="100%" border="0">
{{for}}
{{if (#index) % 3 === 0 }}
</tr>
<tr>
<td>
<div class="form-group">
<label for={{>name}}>{{>label}}</label>
<input type={{>type}} class="form-control" id={{>name}}>
</div>
</td>
{{else}}
{{if #index === 0 }}
<tr>
<td>
<div class="form-group">
<label for={{>name}}>{{>label}}</label>
<input type={{>type}} class="form-control" id={{>name}}>
</div>
</td>
{{else}}
<td style="padding-left:15px;">
<div class="form-group">
<label for={{>name}}>{{>label}}</label>
<input type={{>type}} class="form-control" id={{>name}}>
</div>
</td>
{{/if}}
{{/if}}
{{/for}}
</table>
<hr>
<table>
<tr>
<td>
<button type="submit" id="EditProductiebedrijfButton" class="btn btn-primary">Submit</button>
<button class="btn btn-secondary" type="Cancel" onClick="panelInstance.dismiss();">Cancel</button>
</td>
</tr>
</table>
</form>
</span>
</div>
</div>
</div>
</div>
</script>
它使用以下数据在 ms-panel 中创建一个表单:
var Updatefields = [
{ name: "field1", type: "text", label: "blabla" },
{ name: "field2", type: "text", label: "bla" },
{ name: "field3", type: "date", label: "blablaaa" }
];
这一切工作正常并呈现我的表单。但我想将一些额外的数据传递给 "header of the template"。 “*****”现在在哪里。例如 "form id".
我怎样才能做到这一点?
我还想对所有 "name" 值使用 "prefix"。例如名称是 "field3" 作为输入字段的 id 我想要 "field3Update"
我尝试进行一些字符串连接,但到目前为止失败了。
编辑:最后一个问题很简单。原来是这样做的:id={{>name}}Update
将附加数据作为数据与字段数组一起传递:
$("#xxx").render({
fields: fields,
other: otherData
});
otherData 在哪里
{
whatever: ...,
...
}
然后写
<form id="{{>other.whatever...}}...">
<table...>
{{for fields}}
或作为助手传递附加数据 (http://www.jsviews.com/#tmplrender@helpers):
$("#xxx").render(fields, otherData, true);
然后写
<form id="{{>~whatever...}}...">
<table...>
{{for}}