You can easily implement with can.js.
First thing you should understand about can.js (and high lever other libs/frameworks) the it emphasis the approach when you don't do manual manipulation with DOM. And DOM is a reflection of state of data layer (model).
So each your checkbox (and other element) is a reflection of model state.
you may look here: http://jsfiddle.net/xKc3H/359/