2017-02-27 83 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(); 
}