【问题标题】:Deleting a check-box makes below check-box checked in meteor删除复选框使以下复选框在流星中选中
【发布时间】:2015-10-01 18:12:39
【问题描述】:

当您单击输入复选框时,我有一个运行的流星单击事件处理程序。

"setTaskCompleted" 的调用会更新 django 中的模型,将 taskCompleted 设置为 true。 (我正在使用 django 来存储我的数据)

setCustomerTodo(customer):获取当前登录用户的待办事项。

一切正常,但是当我单击复选框时,它会从视图中删除该字段并将其标记为在 django 模型中完成。但它会检查其下方的输入。

"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);
            }
        });
    }

//辅助函数

Checkbox Helper Function:
Template.tasks.helpers({
    data: function(){
        return Session.get('todo');
     }
});

//模板

{{#each data}}
    <tr>
        <td><input class="check-completed" checked="{{completed}} " type="checkbox"></td>
        <td>{{todo}}</td>   
    </tr>
{{/each}}

【问题讨论】:

    标签: javascript jquery django checkbox meteor


    【解决方案1】:

    您的浏览器正在处理点击事件,您也在处理(使用您的 {{completed}})。尝试在活动开头添加preventDefault()

    "click input[type='checkbox']": function(event){
        event.preventDefault();
        //changing state task completed 
        this.completed = !this.completed;
    

    【讨论】:

    • 大声笑我怎么能忘记阻止默认行为....谢谢这是快速修复:)
    猜你喜欢
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多