2016-02-23 190 views
-1

我已經在meteor.js中設置了一個Template.inquiry.events({函數,它爲按鈕提供點擊數據並向它們添加一個類。這工作正常。什麼是不工作,當我嘗試點擊刪除課程。removeClass not working in meteor.js

它看起來像這樣:

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不工作。有任何想法嗎?

回答

0

每次點擊reportconsultcontractfalse如此「否則,如果」在這裏你檢查report == true不能觸發。如果你想存儲的狀態之間的事件使用SessionReactiveVar或只是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'); 
+0

我可以將我的分貝這些價值? (true或false變量) – user1072337

+0

爲什麼你需要將它存儲在數據庫中?這是關於UI,因爲我可以看到,所以最好使用客戶端部分。如果要在重新加載之間保存狀態,則可以使用用戶瀏覽器的本地存儲。 –