JSFiddle - React, Tailwind, and code Playground
HTML
<ul>
<li>
<input type="checkbox" />
1
</li>
<li>
<input type="checkbox" />
3
</li>
<li>
<input type="checkbox" />
A
</li>
<li>
<input type="checkbox" />
B
</li>
<li>
<input type="checkbox" />
C
</li>
</ul>
JavaScript
$('li').each(function () {
var $this = $(this).data({position: $(this).index()}),
$table = $this.closest('ul'),
$input = $this.find('input');
$input.bind('click', function (e) {
var $first = $table.find('li:first'),
position;
if ($(this).is(':checked')) {
position = $first.data('position');
$table.find('li input').not($(this)).removeAttr('checked');
if (position != 0) $first.insertAfter($table.find('li').eq(position));
$this.prependTo($table);
} else if ($this.data('position') != 0) {
position = $this.data('position');
$this.insertAfter($table.find('li').eq(position));
}
});
});