事件之外的选项元素的流星值

时间:2014-10-19 16:42:43

标签: javascript meteor

我有一个Session值,其中包含我想在填充Select语句时设置为所选值的帐户的值。当我尝试使用this.value获取值时,我得到了#34;意外的标识符"。我怎样才能在事件处理程序外看这个?

模板:

<template name="transactions">
 <form id="trx_form">
  <select id="account_selector">
    {{> account_selector}}  
  </select>
  <br>
   To or From: <input type="text" value="" size="52" id="to_from"><br>
   <<input type="submit" value="Save" id="save_trx">
 </form>
</template>

<template name="account_selector">
    {{#each accounts}}
     {{#if selectedAcct}}
        <option value="{{this}}" SELECTED>{{this}}</option>
    {{else}}
        <option value="{{this}}">{{this}}</option>
     {{/if}}
    {{/each}}
</template>

助手功能:

    Template.account_selector.accounts = function() {
        // account_categories is a Global array of pre-defined categories
        var pairings = [];
        for (var b = 0, l = account_categories.length; b < l; b++) {
            var category= account_categories[b];
            var acctName = "";
            var accountCursor = account_categories[b].find();               
            accountCursor.forEach( function(acct) {
                acctName = acct.acct_name;
                if (acctName > "")
                {                       
                        pairings.push(category + ":" + acctName);                       
                }
            });
        }
        return pairings;
    };

    Template.account_selector.selectedAcct ({
            var thisAcct = this.value;
            ... Unexpected identifier ...
    });

1 个答案:

答案 0 :(得分:0)

在每个把手内部,数据上下文(this)是当前数据元素,而不是dom元素。在您的情况下,您在表单类别中有一个字符串:accountName,您可以使用该字符串来获取与会话进行比较的名称。