この質問は既に回答済みで、ほとんどがreadonlyattribureの使用を提案しています。
私は自分のシナリオと答えを共有したいだけです。
HTML要素にreadonly属性を追加した後、この属性を動的に作成できないという問題に直面しました。
両方として、またHTMLの作成時にも設定してみました。required
readonlyrequired
だからreadonly、もしあなたがそれを同じように設定したいなら、使わないことを勧めますrequired。  
代わりに  
$("#my_txtbox").datepicker({
    // options
});
$("#my_txtbox").keypress(function(event) {
    return ( ( event.keyCode || event.which ) === 9 ? true : false );
});
これにより、tabキーのみを押すことができます。バイパスしたいキーコードを
さらに追加できます。
両方readonlyを追加しrequired、フォームを送信するため、以下のコードを使用します。
取り外しreadonlyた後は   正常に動作します。  
https://jsfiddle.net/shantaram/hd9o7eor/
$(function() {
  $('#id-checkbox').change( function(){
  	$('#id-input3').prop('required', $(this).is(':checked'));
  });
  $('#id-input3').datepicker();
  $("#id-input3").keypress(function(event) {
    return ( ( event.keyCode || event.which ) === 9 ? true : false );
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link href="https://code.jquery.com/ui/jquery-ui-git.css" rel="stylesheet"/>
<form action='https://jsfiddle.net/'>
Name:  <input type="text" name='xyz' id='id-input3' readonly='true' required='true'> 
    <input type='checkbox' id='id-checkbox'> Required <br>
    <br>
    <input type='submit' value='Submit'>
</form>