Javascript removeClass在meteor.js中不起作用
我已经在meteor.js中设置了一个Javascript removeClass在meteor.js中不起作用,javascript,jquery,meteor,Javascript,Jquery,Meteor,我已经在meteor.js中设置了一个模板.inquiry.events({函数,它获取按钮的点击数据并向按钮中添加一个类。这很好。不起作用的是,当我试图让点击移除类时 看起来是这样的: Template.inquiry.events({ 'click .button': function(event){ var button_id=event.currentTarget.id report = false; consult = fal
模板.inquiry.events({
函数,它获取按钮的点击数据并向按钮中添加一个类。这很好。不起作用的是,当我试图让点击移除类时
看起来是这样的:
Template.inquiry.events({
'click .button': function(event){
var button_id=event.currentTarget.id
report = false;
consult = false;
contract = false;
$("#" + button_id).addClass('selected');
if(button_id == 'report' && report == false) {
report = true;
$("#" + button_id).addClass('selected');
}
else if(button_id == 'consult' && consult == false) {
consult = true;
$("#" + button_id).addClass('selected');
}
else if(button_id == 'contract' && contract == false) {
contract = true;
$("#" + button_id).addClass('selected');
}
else if(button_id == 'report' && report == true) {
report = false;
$("#" + button_id).removeClass('selected');
}
else if(button_id == 'consult' && consult == true) {
consult = false;
$("#" + button_id).removeClass('selected');
}
else if(button_id == 'contract' && contract == true) {
contract = false;
$("#" + button_id).removeClass('selected');
}
}
});
前三个“如果”工作正常,但removeClass ifs不工作。有什么想法吗?每次单击
报告咨询和合同都是错误的
所以“如果其他”您选中的report==true
无法触发。如果要在事件之间存储状态,请使用Session
或ReactiveVar
或仅使用Template.instance()
属性,如
Template.inquiry.onCreated(function() {
this.states = {};
this.states.report = false;
});
...
else if(button_id == 'consult' && !Template.instance().states.report) {
Template.instance().states.report = true;
$("#" + button_id).addClass('selected');
}
else if(button_id == 'report' && Template.instance().states.report) {
Template.instance().states.report = false;
$("#" + button_id).removeClass('selected');
我可以将这些值存储在我的数据库中吗?(true或false变量)为什么需要将其存储在数据库中?正如我所看到的,这是关于UI的,所以最好使用客户端。如果要在重新加载之间保存状态,可以使用用户浏览器的本地存储。