2014-10-19 4 views
0

У меня есть значение Session, который содержит значение учетной записи, которую я хочу установить в качестве выбранного значения при заполнении Выберите заявление. Когда я пытаюсь получить значение, используя this.value, я получаю «Неожиданный идентификатор». Как я могу смотреть на это за пределами обработчика событий?Метеор значения опции элемента вне события

Шаблоны:

<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> 

Функция Helper:

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 ... 
    }); 

ответ

0

Внутри каждых рулей, контекст данных (это) является текущим элементом данных, не дом элемента. В вашем случае у вас есть строка в категории формы: accountName, которую вы можете использовать, чтобы получить имя для сравнения с сеансом.

+0

Thanks Mark. В помощнике я изменил его на 'Template.account_selector.selectedAcct = function (acctName) {console.log (" Смотря на "+ acctName); } ', а затем передать его, как' {{#if selectedAcct this}} ', и все хорошо в мире! –

+0

Ницца! Рад, что у вас это работает :) – mark

Смежные вопросы