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>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-debug.js"></script>


<p> Current Radiobutton Value = <span data-bind='html: 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
<input type='radio' name='onlyOne' data-bind='checked: selected, enable: enable' value='<img src="https://upload.wikimedia.org/wikipedia/en/thumb/f/f9/Aston_Villa_FC_crest_%282016%29.svg/225px-Aston_Villa_FC_crest_%282016%29.svg.png">' /> Yes Image
<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);