[英]Meteor checkbox always false after Template render
我有2個條目的導航欄。 一個條目是一個復選框,另一個是帶有按鈕的下拉菜單(我將為此提供代碼)。 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");
始終為false或始終為true,這取決於單擊按鈕之前是否為true或false。
我希望有人可以幫助我!
您是否嘗試過在渲染之前或之后使用jquery?
'click #addNewObject': function (ev) {
$('#inputMode').prop('checked', true);
Helper.initSceneGraph();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.