JSFiddle - React, Tailwind, and code Playground

by supercool

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/knockout/2.3.0/knockout-min.js"></script>
<div id='container'>
    <div id="content1"> <span>Opt In</span>
        <input data-val-required="field is required." id="cbOptIn" name="OptIn" type="checkbox" data-bind="checked: OptIn"/>
    </div>    
</div

JavaScript

function check(){
        console.log('called again')
this.test=ko.observable('test');
}

var ViewModel = function () {
    var self = this;
    self.demo=ko.observable(new check());

    self.OptIn = ko.observable(false);
    self.OptIn2 = ko.observable(false);
}

var appVM = new ViewModel();
appVM.OptIn(true);
ko.applyBindings(appVM,document.getElementById('container'));

var content2 = document.createElement('div');
content2.id = 'content2';
content2.innerHTML = '<span>Opt In2</span><input data-val-required="field is required." id="cbOptIn2" name="OptIn2" type="checkbox" data-bind="checked: OptIn2"/>';

document.getElementById('container').appendChild(content2);
ko.cleanNode($('#container')[0])

var appVM = new ViewModel();
appVM.OptIn2(true);
ko.applyBindings(appVM, document.getElementById('container'));