我有一个帮助模板,当输入字段是另一个模板中的选定项时,它会更改输入字段的外观。我现在想要做的是使用相同的模板来告诉输入字段它没有被选中,或者传递会话值(如果是)。
以下是模板:
<template name="income">
{{#each accounts}}
<tr>
<td class="row1"><input type="text" maxlength="58" value="{{income_acct_name}}" id="income_acct_name{{_id}}"></td>
{{#if selectedAcct }}
<td class="row4" align="right"><input type="text" size="13" value="{{amount}}" id="income_amt_entered{{_id}}" class="open" readonly></td>
{{else}}
<td class="row4" align="right"><input type="text" size="13" value="" id="income_amt_entered{{_id}}" disabled></td>
{{/if}}
<td class="row5" align="right">{{formatMoney income_acct_total}}</td>
</tr>
{{/each}}
</template>
这是帮手:
Template.income.selectedAcct= function(){
var amount = "";
var selectedAcct = Session.get('selectedAcct');
var thisAcct = "income_amt_entered" + this._id;
if (thisAcct == selectedAcct)
{
return {amount: Session.get('amount')};
} else {
return false;
}
};
我尝试将{{#with selectedAcct}}
包装在我尝试插入{{amount}}
的位置,但是此模板的其他助手开始抛出错误,因为他们无法再看到该输入元素的ID -
{{#with selectedAcct}}
<td class="row4" align="right"><input type="text" size="13" value="{{amount}}" id="income_amt_entered{{_id}}" class="open" readonly></td>
{{/with}}
TypeError: Cannot read property 'type' of null
有没有办法从Template.income.selectedAcct
传递该值,还是我需要采用不同的方式?