Knockout Checked Handler Test
Testing issues with knockouts checked binding handler.
by jhoguet
HTML
<script src="http://knockoutjs.com/downloads/knockout-2.2.1.js"></script>
<div data-bind="visible: isVisible">
<div data-bind="foreach: fulfillmentOptions">
<label>
<input type="radio" name="fulfillmentType" data-bind="checked: $parent.selectedFulfillmentType, value: $data.name(), attr: { checked: $data.name() === $parent.selectedFulfillmentType() }" /> <span data-bind="text: $data.name"></span>
</label>
</div>
</div>
<button data-bind="click: toggleVisible">toggle view</button>
<button data-bind="click: refreshFulfillmentOptions">refresh options</button>
<button data-bind="click: notify">notify</button>
JavaScript
function Viewmodel() {
var self = this;
self.fulfillmentOptions = ko.observableArray([{
name: ko.observable("herp"),
id: 1
}, {
name: ko.observable("derp"),
id: 2
}]);
self.selectedFulfillmentType = ko.observable();
self.isVisible = ko.observable(true);
self.toggleVisible = function () {
if (self.isVisible()) {
self.isVisible(false);
} else {
self.isVisible(true);
}
};
self.refreshFulfillmentOptions = function () {
self.fulfillmentOptions([{
name: ko.observable("herp"),
id: 1
}, {
name: ko.observable("derp"),
id: 2
}]);
};
self.notify = function(){
self.selectedFulfillmentType.notifySubscribers();
}
self.selectedFulfillmentType.subscribe(function(){
alert('here');
});
};
ko.applyBindings(new Viewmodel());