Binding true / false to radio buttons in Knockout JS

http://stackoverflow.com/questions/10127001/binding-true-false-to-radio-buttons-in-knockout-js

by Thor Arne Johansen

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.2.1.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min.js"></script>
<div data-bind="foreach: weekDays">
    <label>SFO Morgen
        <input type="radio" value="false" data-bind="checked: ForEditing, attr: {name: period}" />
    </label>
    <label>Ingen SFO Morgen
        <input type="radio" value="true" data-bind="checked: ForEditing, attr: {name: period}" />
    </label>
</div>
<hr/>
<div data-bind="text: ko.toJSON($root)"></div>

CSS

li {
    margin: 5px;
    background: #eee;
    height: 50px;
}
.menu {
    position: absolute;
    background-color: #000;
    color: #fff;
    height: 100px;
}

JavaScript

var ViewModel = function () {

    var self = this;

    self.weekDays = ko.mapping.fromJS([{
        period: "monday",
        value: "false",
        ForEditing2: function(item){
            return ko.observable("hallo4");
        },
        ForEditing: ko.computed({
            read: function () {
                return this.value;
            },
            write: function (newValue) {
                //self.IsMale(newValue === "true");
            },
            owner: self
        }, this)
    }]);
};
debugger;
ko.applyBindings(new ViewModel());