Skip to content

Instantly share code, notes, and snippets.

@rahulpnath
Created July 9, 2014 06:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rahulpnath/5faaf3405637508fd93a to your computer and use it in GitHub Desktop.
Save rahulpnath/5faaf3405637508fd93a to your computer and use it in GitHub Desktop.
A Pen by Rahul P Nath.
<div>
<button data-bind="click:addNonObservable" >Add Non Observable</button>
<button data-bind="click:addObservable" >Add Observable</button>
</div>
<br />
<div>
<select data-bind="options: persons,
optionsText:'name',
optionsCaption:'Choose Person to Edit',
value: selectedPerson"></select>
<br />
<br />
<div data-bind= "with:selectedPerson" >
<label>Edit Name</label>
<input data-bind="value: $data.name, valueUpdate:'afterkeydown'"></div>
</div>
</div>
// View Model
function PersonObservableVM(name){
this.name = ko.observable(name);
}
function PersonNotObservableVM(name){
this.name = name;
}
function PersonHubVM() {
var self = this;
var itemCount = 0;
var temp = new PersonObservableVM( "Observable" + itemCount);
self.persons = ko.observableArray();
self.selectedPerson =ko.observable();
self.addNonObservable = function(){
self.persons.push(new PersonNotObservableVM("Non Observable" + itemCount));
itemCount+= 1;
}
self.addObservable = function(){
self.persons.push(new PersonObservableVM( "Observable" + itemCount));
itemCount+= 1;
}
}
ko.applyBindings(new PersonHubVM());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment