2017-02-27 102 views
0

我有一個導航條,有2個條目。一個entrie是一個複選框,另一個是帶按鈕的下拉列表(我將爲此提供代碼)。該input有ID inputMode和按鈕addNewObject模板渲染後,流星複選框總是爲假

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
     <ul class="nav navbar-nav"> 
      <li id="editMode"> 
       <a href="#"> 
        <label><input type="checkbox" value="Edit Mode" id="inputMode">Edit Mode</label> 
       </a> 
      </li> 
      <li><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" 
        aria-haspopup="true" aria-expanded="false">Scenegraph <span class="caret"></span></a> 
       <ul class="dropdown-menu"> 
        <li><div style="text-align:center;"> 
         <input id="addNewObject" type="button" class="btn-success" value="Add Object"> 
        </div></li> 
       </ul> 
      </li> 

     </ul> 
    </div> 

對於每個ID的我已經click功能的。

'click #inputMode': function (event, tmpl) { 
    let isChecked = $("#inputMode").is(":checked"); 
    if (isChecked) { 
     // do something 
    } else { 
     //do something 
    } 
}, 
'click #addNewObject': function (ev) { 

    Helper.initSceneGraph(); 

} 

所以事情是,當我按一下按鈕addNewObject導航欄被重新描繪,就像這樣:

static initSceneGraph() { 
    if (Meteor.isClient) { 
     Template.sceneGraph.helpers({ 
      sceneObjects: Application.getInstance().scene.sceneObjects, 
      isAudio: function (obj) { 
       return obj._soundPath; 
      } 
     }); 
    } 
    UI.render(Template.sceneGraph, document.body); 
} 

initSceneGraph複選框inputMode並沒有改變所以以後。這意味着它在視覺上會發生變化,但實際上它始終保持不變。例如console.log($("#inputMode").is(":checked");要麼總是假或總是如此,這取決於它是真或假之前單擊按鈕。

我希望有人能幫助我這個!

回答

0

你在渲染之前還是之後嘗試過使用jquery?

'click #addNewObject': function (ev) { 
    $('#inputMode').prop('checked', true); 
    Helper.initSceneGraph(); 
}