我使用jQuery模板使用jsrender.js &jquery.views.js by http://github.com/BorisMoore/jsviews
我有一个嵌套循环和嵌套循环内,我想get itemNumber或其他一些值。如:
模板:
{{#each ImageQuestions}}
<div id="image-{{=$view.itemNumber}}">
{{#each GroupImagesRepeatation}}
<input type="radio" name="{{=$view.parent.data.QuestionID}}" value="{{=$view.itemNumber}}" />
{{/each}}
{{/each}}
数组:
var Questions = {
ImageQuestions: [
{
QuestionID: 1,
GroupImagesRepeatation: [1, 2, 3, 4]
},
{
QuestionID: 2,
GroupImagesRepeatation: [1, 2, 3, 4, 5, 6]
}
]
};
Query: {{=$view.parent.data.QuestionID}}
is what i want to work correct。我需要为每个嵌套循环赋予radioList唯一的名称。
请帮助我。
{{=$view.parent.data.QuestionID}}
没有返回正确值的原因是因为您需要通过两个父级:{{=$view.parent.parent.data.QuestionID}}
。直接父节点的数据是groupimagesrepeat数组。它的父元素是外部每个循环的数据项——它有一个questionID属性。
你可以使用更简洁的语法:
{{#each ImageQuestions}}
<div id="image-{{=$itemNumber}}">
{{#each GroupImagesRepeatation}}
<input type="radio" name="{{=$parent.parent.data.QuestionID}}" value=" {{=$itemNumber}}" />
{{/each}}
{{/each}}
在编译后的模板中进行调试的提示:设置$.views.allowCode = true;
,然后在模板中添加{{*debugger;}}
,如{{*debugger;}}<input type="radio" ...
。