[英]Deleting a check-box makes below check-box checked in meteor
I have a meteor click event handler which is run, when you click on input checkbox. 当您单击输入复选框时,我有一个运行的流星单击事件处理程序。
The call to "setTaskCompleted" updates model in django which sets taskCompleted to true. 调用“ setTaskCompleted”会更新Django中的模型,该模型会将taskCompleted设置为true。 (I am using django to store my data)
(我正在使用django存储我的数据)
setCustomerTodo(customer): Gets the todo item for current logged in user. setCustomerTodo(customer):获取当前登录用户的待办事项。
Everything works but when i click on checkbox it deletes that field from view and mark it as completed in django models. 一切正常,但是当我单击复选框时,它将从视图中删除该字段并将其标记为在Django模型中已完成。 But it makes input just below it checked.
但是它使输入恰好低于它。
"click input[type='checkbox']": function(){
//changing state task completed
this.completed = !this.completed;
//getting active user
var customer = Session.get('active_user').player_number
var data = {'task_id': this.id,
'completed': this.completed };
//Changing state of task completed
Meteor.call('setTaskCompleted', data, function(error, result){
if(error){
console.log(error);
}else{
setCustomerTodo(customer);
}
});
}
//Helper Function //辅助函数
Checkbox Helper Function:
Template.tasks.helpers({
data: function(){
return Session.get('todo');
}
});
//Template //模板
{{#each data}}
<tr>
<td><input class="check-completed" checked="{{completed}} " type="checkbox"></td>
<td>{{todo}}</td>
</tr>
{{/each}}
Your browser is processing the click event and so are you (with your {{completed}}). 您的浏览器正在处理click事件,您也在处理{{completed}}。 Try adding
preventDefault()
to the beginning of your event: 尝试在事件开始时添加
preventDefault()
:
"click input[type='checkbox']": function(event){
event.preventDefault();
//changing state task completed
this.completed = !this.completed;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.