Search code examples
meteoriron-router

checkbox update to mongo is sometime work and sometime won't work


My code sometime work and some time won't work

Mongo didn't update sometimes...

But his code is work perfact

What am i do wrong?

Here is my code

http://checkboxploblem.meteor.com

https://github.com/codepawn/practice_makes_perfect/tree/master/checkbox_mongo

origin is

https://github.com/EventedMind/class-build-a-multi-page-app-with-iron-meteor-6737880d


Solution

  • Your problem lies in your event within the 'home.coffee' file:

    Template.Home.events
        'click [name=isDone]': (e, tmpl) ->
        id = @_id
        isDone = tmpl.find('input[name=isDone]').checked
        Todos.update {_id: id},
            $set:
                isDone: isDone
    

    You are assigning the first checkbox value to the variable isDone. Thus, if you check the first input box, that is what gets applied to every subsequent task.

    You can get around this by retrieving the value of the checkbox from the event object. ie. e.currentTarget.checked

    Another alternative is use a unique id for each checkbox and retrieve the value using that id