Knockoutjs.com - Hello World Example

http://knockoutjs.com/examples/helloWorld.html

by Sreeraj Saseendran

HTML

<script src="http://knockoutjs.com/downloads/knockout-3.2.0.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css">

<ul class="list-group" data-bind="foreach: users">
<!-- ko ifnot: username() === 'x' -->
    <li class="list-group-item" data-bind="click : $parent.setasUser">
        <i class="fa fa-circle text-success"></i> <span data-bind="text: name"></span>
    </li>
  <!-- /ko -->
  <!-- ko if: username() === 'x' -->
  <li class="list-group-item" data-bind="text: name"> </li>
   <!-- /ko -->
</ul>

JavaScript

function user(id, username, name) {
  var self = this;
  this.id = ko.observable(id);
  this.username = ko.observable(username);
  this.name = ko.observable(name);
}

function model() {
  var self = this;
  this.users = ko.observableArray([
    new user('1','Joe', 'Joe'),
    new user('2','Fred', 'Fred'),
     new user('3','x', 'John')
  ]);
  
  this.setasUser = function(user){
    alert(user.name() + ' is set as user');
  }
}

var mymodel = new model();

$(document).ready(function() {
  ko.applyBindings(mymodel);
});