knockoutjs checked binding for a list of objecs

http://stackoverflow.com/questions/8613602/knockoutjs-checked-binding-for-a-list-of-objecs

by rniemeyer

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.0.0.js"></script>
<ul data-bind="foreach: people">
    <li>
        <input type="checkbox" data-bind="attr: { value: id }, checked: $root.selectedPeople"><span data-bind="text: name"></span>
    </li>
</ul>

<hr/>

<div data-bind="text: ko.toJSON($root)"></div>

JavaScript

function Person(id,name,age) {
    this.id = id;
    this.name = name;
    this.age = age;
}

var listOfPeople = [
    new Person(1, 'Fred', 25),
    new Person(2, 'Joe', 60),
    new Person(3, 'Sally', 43)
];

var viewModel = {
    people: ko.observableArray(listOfPeople),
    selectedPeople: ko.observableArray()
};
    
ko.applyBindings(viewModel);