I have a textbox, a checkbox and a span tag. When I click on the checkbox, it should show its state in the span tag.  When textbox is updated, it reinserts the checkbox block. When you click on the checkbox now, it fails to update the state.  
I am using the on event handler for checkbox click event, so I expect it to work.  
Any idea why this is not working as expected?
$('div[role] input[type=checkbox]').on('click', chg);
$('div[role] input[type=text]').on('input', sourceChanged);
function chg() {
  var istiki = $(this).is(":checked");
  $('#upd').html(istiki);
}
function sourceChanged() {
  $('span', $(this).closest('.input-group')).html('<input type="checkbox">');
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div role="Tiki" class="input-group">
  <input type="text" class="form-control" />
  <span class="input-group-addon"><input type="checkbox" /></span>
</div>
<span id="upd"></span> 
    