流星

2017-06-12 22 views
0

私は初期化機能を持っていると私は、ラベルが(セマンティックUIから)ドロップダウンメニューのために取り外されたときを検出します:流星

call.js

Template.calledit.onRendered(function() { 
    $('.ui.dropdown').dropdown({ 
     onLabelRemove(value) { 
     console.log(value); 
     console.log(this._id); 
     } 
    }); 
}); 

call.html

<template name="calledit"> 
    <div class="field"> 
    <label>Assign Units</label> 
    <div id="edit_call_assign_units_{{_id}}" class="ui multiple search selection dropdown"> 
     <input type="hidden" name="edit_call_assign_units_{{_id}}" value="{{units}}"> 
     <i class="dropdown icon"></i> 
     <div class="default text">Assign Units</div> 
     <div class="menu"> 
     <div class="item" data-value="420">420</div> 
     <div class="item" data-value="F-117">F-117</div> 
     <div class="item" data-value="805">805</div> 
     <div class="item" data-value="230">230</div> 
     <div class="item" data-value="506">506</div> 
     </div> 
    </div> 
    </div> 
<template> 

はしかし、私が検出に問題があるonRendered関数でthis._idにアクセスするにはどうすればよいですか?

+0

あなたはこれで行くのテンプレートのコードを追加してくださいすることができ、間違った文脈のように見えますか? 'this'はあなたのDocを指していないので、this._idは定義できません。 onLabelRemoveに渡されているオブジェクトを調べるためにconsole.log(this)を追加してください。 –

+0

@SeedD。私はそれをコンソールに記録しましたが、_idを見つけることができません。また、主題にテンプレートを追加しました。私はどのようにこれを行うには困っている:( – DarkTakua

答えて

0

は多分この

Template.calledit.onRendered(function() { 
    var tmpl = this; 
    $('.ui.dropdown').dropdown({ 
     onLabelRemove(value) { 
     console.log(value); 
     console.log(tmpl._id); 
     } 
    }); 
}); 

それとも、ECMAScriptのを使用する場合は、

Template.calledit.onRendered(function() { 
    $('.ui.dropdown').dropdown({ 
     onLabelRemove: (value) => { 
     console.log(value); 
     console.log(this._id); 
     } 
    }); 
});