Knockoutjs Demo

by mrrodd

HTML

<script src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-2.1.0.debug.js"></script>
Name: <input type="text" data-bind="value: name, valueUpdate: 'afterkeydown'" />
<input type="checkbox" data-bind="checked: nameVisible" /><br/>
<p data-bind="visible: nameVisible">
    Hello, <span data-bind="text: name"></span>
</p>
<span data-bind="text: displayName"></span><br/>
<button data-bind="click: changeName">Change Name</button>

JavaScript

$(function() {
    var viewModel = {
        name: ko.observable("bob"),
        changeName: function() {
            this.name("steve");
        },
        nameVisible: ko.observable(true)
    };

    viewModel.displayName = ko.computed(function() {
        return this.name() + " is " + 
            (!this.nameVisible() ? " not" : "") + " visible.";
    }, viewModel);
    
    ko.applyBindings(viewModel);

});