selected object pattern with knockout

http://stackoverflow.com/questions/8788543/selected-object-pattern-with-knockout

by mrrodd

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.0.0.debug.js"></script>
<div data-bind="with: selected_item">
    <h3 data-bind="text : name"></h3>    
</div>
<hr/>    

<ul data-bind="foreach: myViewModel.items">
    <li  data-bind="text : name, click: $parent.selected_item"></li>
</ul>

JavaScript

var Item = function(id, name) {
    this.id = id;
    this.name = name;
};

myViewModel = {
    items: ko.observableArray([new Item(1, "one"), 
                               new Item(2, "two")]),
    selected_item: ko.observable()
};
    
ko.applyBindings(myViewModel);