JSFiddle - React, Tailwind, and code Playground
HTML
<label>
<input type="checkbox" checked />
Hello World
</label>
<label>
<input type="checkbox" checked />
Hello World
</label>
<label>
<input type="checkbox" />
Hello World
</label>
<label>
<input type="checkbox" />
Hello World
</label>
<br/><br/>
<label>
<input type="radio" name="radio1" checked />
Hello World
</label>
<label>
<input type="radio" name="radio1" />
Hello World
</label>
<label>
<input type="radio" name="radio1" />
Hello World
</label>
<label>
<input type="radio" name="radio1" />
Hello World
</label>
<br/><br/>
<label>
<input type="radio" name="radio2" />
Hello World
</label>
<label>
<input type="radio" name="radio2" checked />
Hello World
</label>
<label>
<input type="radio" name="radio2" />
Hello World
</label>
<label>
<input type="radio" name="radio2" />
Hello World
</label>
CSS
label {
display: block;
}
.checked {
background: yellow;
}
JavaScript
(function(){
var $radio = $('[type="radio"]');
var $check = $('[type="checkbox"]');
var _parent = 'label'
$check.change(function(){
var $this = $(this);
var $thisTarget = $(this).closest(_parent);
if ($this.is(':checked')) { $thisTarget.addClass('checked'); }
else { $thisTarget.removeClass('checked'); }
});
$radio.change(function(){
var $this = $(this);
var $thisGroup = $('[name="'+$this.attr('name')+'"]');
$.each($thisGroup,function(i,e){
$(e).closest(_parent).removeClass('checked');
});
$this.closest(_parent).addClass('checked');
});
$.each($check.add($radio),function(i,e){
var $this = $(e);
if ($this.is(':checked')) {
$this.closest(_parent).addClass('checked');
}
});
})();