Meteor:如何根据类型获取输入名称?

时间:2016-01-12 02:58:28

标签: javascript jquery meteor

我正在尝试根据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')

有什么想法吗?谢谢!

1 个答案:

答案 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元素。