$(function() {
var viewModel = {
// data
items: ko.observableArray([]),
itemToAdd: ko.observable(""),
// behaviors
addItem: function() {
this.items.push({ name: this.itemToAdd() });
this.itemToAdd("");
}
};
ko.applyBindings(viewModel);
});
<input type="text" data-bind="value: itemToAdd" />
<button data-bind="click: addItem">Add</button>
<ul>
<!-- ko foreach: items -->
<li><span data-bind="text: name"/></li>
<!-- /ko -->
</ul>