Je définis une variable de session qui sera actualisée à chaque détection de l’event bind dessus. Pour détecter l’event j’utilise l’id de ma checkbox avec un getElementById
meteor add session au besoin
client.js
Meteor.startup(function () {
Session.setDefault('mycheckbox', 0);
});
Tracker.autorun(function () {
var sessionmycheckbox = Session.get('mycheckbox');
console.log("tracker autorun : sessionmycheckbox : "+sessionmycheckbox);
});
Template.mytemplate.events({
'change #mycheckbox': function(e) {
e.preventDefault();
if (document.getElementById('mycheckbox').checked){
Session.set("mycheckbox", 1);
}else{
Session.set("mycheckbox", 0);
}
}
});
Session.setDefault('mycheckbox', 0);
});
Tracker.autorun(function () {
var sessionmycheckbox = Session.get('mycheckbox');
console.log("tracker autorun : sessionmycheckbox : "+sessionmycheckbox);
});
Template.mytemplate.events({
'change #mycheckbox': function(e) {
e.preventDefault();
if (document.getElementById('mycheckbox').checked){
Session.set("mycheckbox", 1);
}else{
Session.set("mycheckbox", 0);
}
}
});
mytemplate.html
<template name="mytemplate">
<label>
<input id="mycheckbox" type="checkbox" value="0"> Auto ?
</label>
</template>
<label>
<input id="mycheckbox" type="checkbox" value="0"> Auto ?
</label>
</template>
Vous constatez en console client (F12), l’event « change » affiche la variable de session « mycheckbox » à chaque pression de la checkbox.