如何处理流星中的复选框

时间:2015-08-17 16:55:25

标签: meteor meteor-blaze spacebars

this question开始,看来我必须带着Meteor到房子周围标记一个复选框,但是我已经谷歌搜索了一个小时了,我找不到任何示例如何实际上是这样做的。

我已经创建了帮助程序的基础:

Template.Settings.helpers({
  isChecked: function () {
    var id = this.id;
    console.log(id);
  }
});

以下是HTML:

<input type="checkbox" name="imaname" id="imanid" {{isChecked}} />

然而,我显然误解了this的上下文,因为无论我尝试什么,都会返回undefined(this.target等所有nada)。没有我能找到的文档详细阐述了如何实际创建我应该使用的isChecked帮助器,所以我现在已经迷失并感到沮丧。

我从哪里开始?

编辑:好的,所以我让它工作,但是我仍然想知道this的上下文是什么(也许是一个片刻,我猜上下文是帮手本身...如何访问触发帮助器的元素?) - 所以我可以让它更有活力:

Template.Settings.helpers({
  isChecked: function (value) {
    return (value == 'on' ? 'checked' : false);
  }
});

同时:

<input type="checkbox" checked={{ isChecked currentUser.profile.services.bananaExports }} />

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,这是我的方法,而不是使用帮助器,你最好使用blaze模板事件处理程序和jquery,如下所示:

Template.Setting.event({
'click input'(event){
if($('#imanid').is(":checked") == true){
   return true;
}else{
   return false;
}
}
});

希望这会有所帮助