2017-11-03 13 views
0

代わりに[categories、object]を配列の要素から取得しています。私は確信していませんが、おそらくこれは期待されており、私は間違っているだけです。Meteorのイベントを使用して配列から要素を取得する

if (Meteor.isClient) { 

    Template.ipsosboard.helpers({ 
     'categories': function() { 
     return array; // Some data stored as JS Object in lib. 
    }, 
     'currentElement': function() { 
      return Session.get('selectedEvent'); 
     } 
    }); 

    Template.ipsosboard.events({ 
     "change #category-select": function(event, template) { 
      var selectedEvent = $(event.currentTarget).val(); 
      Session.set('selectedEvent', selectedEvent); 
      console.log("EventNum: " + selectedEvent); 
     } 
    }); 

}; //end of client code. 

if (Meteor.isServer) { 
    //code to run by server here. 
}; 
+0

あなたはvanillajsで値を取得しようとしたことがありますか?すなわち、 'event.currentTarget.value'?これはjqueryについて何か変わったようなにおいがします –

+0

私は間違っています。ファイルがJSオブジェクトであったため、通常はオブジェクトを返していました。取得しようとしていたデータが含まれていました。以下の答えを見てください。 – KonVas

答えて

1

これは修正されているようです。オブジェクトを配列に変換する必要がありました。注: 'data'はプロジェクトのlibフォルダにJSオブジェクトとして保存されているjsonファイルですので、変換する必要があります。

if (Meteor.isClient) { 

    Template.ipsosboard.helpers({ 
     'categories': function() { 

これは以下の機能を使用して配列に変換するために必要。

 var myObj = data; 
     var array = $.map(myObj, function(value, index) { 
      return value; 
     }); 
     return array; 
    }, 

必要に応じて、だから今、それはデータを返します。

 'currentElement': function() { 
      return Session.get('selectedEvent'); 
     } 
    }); 

    Template.ipsosboard.events({ 
     "change #category-select": function(event, template) { 
      var selectedEvent = $(event.currentTarget).val(); 
      Session.set('selectedEvent', selectedEvent); 
      console.log("EventNum: " + selectedEvent); 
     } 
    }); 

}; //end of client code. 

if (Meteor.isServer) { 
    //code to run by server here. 
}; 
関連する問題