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());