knockoutjs checked binding for a list of objecs

by mcannon

HTML

<ul data-bind="foreach: people">
    <li>
        <input type="checkbox" value="" data-bind="value2: id, checkedValue: 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),
    new Person(4, 'Steve', 43),
    new Person(5, 'Bob', 43),
    new Person(6, 'Roger', 43),
    new Person(7, 'Mary', 43)
];

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