简体   繁体   English

删除复选框会在流星中选中以下复选框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM