IE 8 not working
by nickkell
HTML
<script src="http://knockoutjs.com/downloads/knockout-2.2.1.debug.js"></script>
<label><b>Client code</b>
<select data-bind="options: ['code'], value: accountSearchParameters.scheme"></select>
</label>
<label> <b>Last Name</b>
<input name="LastName" type="text" data-bind="value: accountSearchParameters.lastName, valueUpdate:'onkeyup'" />
</label>
<label for="Reference"> <b>Reference</b>
<input name="Reference" type="text" data-bind="value: accountSearchParameters.reference, valueUpdate:'onkeyup'" />
</label>
<input type="button" data-bind="click: nextPage" value="next" />
<p data-bind="text: accountSearchParameters.sufficientInputToSearchForAccount"></p>
<p data-bind="text: 'Page: ' + page().index"></p>
JavaScript
var Page = (function () {
function Page(index, name) {
this.index = index;
this.name = name;
}
return Page;
})();
var AccountSearchParameters = (function () {
function AccountSearchParameters() {
this.reference = ko.observable();
this.scheme = ko.observable();
this.lastName = ko.observable();
this.sufficientInputToSearchForAccount = ko.computed(function () {
return this.reference() && this.scheme() && this.lastName();
}, this);
}
return AccountSearchParameters;
})();
function viewModel() {
var self = this,
currentPage = ko.observable(),
accountSearchParameters = new AccountSearchParameters(),
forwardPageProgressionGuards = {
'1': function canMoveToPage2() {
return accountSearchParameters.sufficientInputToSearchForAccount();
},
'2': function canMoveToPage3() {
return true;
},
'3': function canMoveToPage4() {
return true;
}
},
canMoveToNextPage = function (currentlyOnPage) {
function disallowPageMovementNotExplicitlyDefined() {
return false;
}
return (forwardPageProgressionGuards[currentlyOnPage] || disallowPageMovementNotExplicitlyDefined)();
},
canMoveToPreviousPage = function (currentlyOnPage) {
return currentlyOnPage > 1;
},
pages = [new Page(1, 'Customer details'),
new Page(2, 'Bank details'),
new Page(3, 'Payment details'),
new Page(4, 'Confirmation')],
pageNavigator = function (canNavigate, steps) {
current = currentPage();
console.log(canNavigate(current.index));
if (canNavigate(current.index)) {
currentPage(pages[pages.indexOf(current) + steps]);
}
};
currentPage(pages[0]);
self.page =...