Knockout radio buttons value

This example illustrates how you can use a view model to work with multiple radio buttons.

HTML

<script src="http://rniemeyer.github.com/KnockMeOut/Scripts/jquery.tmpl.js"></script>
<script src="https://raw.github.com/SteveSanderson/knockout.mapping/master/build/output/knockout.mapping-latest.debug.js"></script>
<script src="http://knockoutjs.com/js/knockout-2.2.0.js"></script>
<p> Current Radiobutton Value = <span data-bind='value: selected' ></span></p>

<input type='radio' name='onlyOne' data-bind='checked: selected, enable: enable' value='Y' /> Yes
<input type='radio' name='onlyOne' data-bind='checked: selected, enable: enable' value='N' /> No
<input type='radio' name='onlyOne' data-bind='checked: selected, enable: enable' value='M' /> Maybe

<BR/>

<input type='checkbox' data-bind='checked: enable'> Enable controls

JavaScript

var viewModel = {
    enable: ko.observable(true),
    selected: ko.observable('Y')
};

$('input[name="onlyOne"]').click(function (event) {
    if ($(this).val() === viewModel.selected()) {
         viewModel.selected($(this).val());   
    }
});

ko.applyBindings(viewModel);