我正在尝试根据Session
值更改输入的类。现在我有下面的代码,但我想浓缩它:
<template name="filterDate">
<input type="submit" name="setToday" class="filterbutton {{day}}" value="Today" />
<input type="submit" name="setWeek" class="filterbutton {{week}}" value="This Week" />
</template>
和
Template.filterDate.helpers({
'day': function(){
if(Session.equals('filterDatebtn',"setToday")){
return "btn-on";
}
},
'week': function(){
if(Session.equals('filterDatebtn',"setWeek")){
return "btn-on";
}
}
});
我想做类似的事情:
Template.filterDate.helpers({
'on': function(){
var name = this.name;
if(Session.equals('filterDatebtn', name)){
return "btn-on";
}
}
});
但我无法获得输入的名称。我还尝试了$('input[type=submit]').attr("name")
和$(this).attr('name')
有什么想法吗?谢谢!
答案 0 :(得分:1)
这是一种稍微不同的方法,您只需将输入按钮类型作为参数传递给助手。
HTML:
<template name="filterDate">
<input type="submit" name="setToday" class="filterbutton {{on "day"}}" value="Today" />
<input type="submit" name="setWeek" class="filterbutton {{on "week"}}" value="This Week" />
</template>
JS:
Template.filterDate.helpers({
'on': function(name){
if(Session.equals('filterDatebtn', name)){
return "btn-on";
}
}
});
请注意,帮助程序中的this
是数据上下文而不是任何类型的DOM元素。