Skip to content

Instantly share code, notes, and snippets.

@hirokazumiyaji
Created November 11, 2014 15:10
Show Gist options
  • Save hirokazumiyaji/cf585a9883eeea47417b to your computer and use it in GitHub Desktop.
Save hirokazumiyaji/cf585a9883eeea47417b to your computer and use it in GitHub Desktop.
kockout.js sample
<!doctype html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<script type="text/javascript">
$(function() {
function Campaign(data) {
var self = this;
self.ID = ko.observable(data.id);
self.Name = ko.observable(data.name);
self.UserID = ko.observable("");
self.Code = ko.observable("");
self.Save = function() {
var data = {
"id": self.ID(),
"user_id": self.UserID(),
"code": self.Code()
};
$.post("http://localhost:8080/", data, function(data) {
console.log(data);
});
}
}
function CampaignViewModel() {
var self = this;
self.Campaigns = ko.observableArray([]);
$.getJSON("http://localhost:8080/", function(data) {
var campaigns = $.map(data, function(item) { return new Campaign(item); });
self.Campaigns(campaigns);
});
}
ko.applyBindings(new CampaignViewModel());
});
</script>
</head>
<body>
<div data-bind="foreach: Campaigns">
<form method="post">
<input type="hidden" data-bind="value: ID" />
<label data-bind="value: Name"></label><br />
<label>User ID</label><br />
<input type="text" data-bind="value: UserID" /><br />
<label>Code</label><br />
<input type="text" data-bind="value: Code" /><br />
<button data-bind="click: Save">Save</button>
</form>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment