checkboxe enable/disable per row in knockoutjs

by RobertSudwarts

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.0.0.js"></script>
<ul data-bind="foreach: phones">
    <li>
        <input type='text' data-bind="attr: {value:phone}, disable: $root.selectedPhones"/>
        <input type="checkbox" data-bind="attr: {value:id}, checked: $root.selectedPhones" />
    </li>
</ul>

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

JavaScript

function Phone(id,phone) {
    this.id = id;
    this.phone = phone;
}

var phones_list = [
    new Phone(1, '11111'),
    new Phone(2, '22222'),
    new Phone(3, '33333')
];

var viewModel = {
    phones: ko.observableArray(phones_list),
    selectedPhones: ko.observableArray()
};
    
ko.applyBindings(viewModel);