Ajaxで内容を書き換えた後、Bootstrap 3 Datepicker が動作しない。
前提・実現したいこと
Laravel5.5を使って、システム開発を行っています。
日付を入力する箇所が2ヶ所あり(出発時刻、到着時刻)、それぞれに関して入力補助として Bootstrap 3 Datepicker を使用してカレンダー(日付と時間)を出すようにしています。
HTML
1<!-- 出発時刻 --> 2<input id="departure_time" type="text" class="form-control date_departure" name="departure_time" value="" placeholder="yyyy/mm/dd hh:mm" onkeyup="datetime()" > 3 4<!-- 到着時刻 --> 5<div class="cal_datetime" id="cal_datetime"> 6 <input id="arrival_time" type="text" class="form-control date_arrival" name="arrival_time" value="" placeholder="yyyy/mm/dd hh:mm" > 7</div>
呼び出されるJS側は
JavaScript
1<script> 2$(function () { 3 $('.date_departure').datetimepicker({ 4 locale: 'ja', 5 format : 'YYYY/MM/DD HH:mm', 6 stepping: 15, 7 sideBySide: true, 8 }); 9}); 10 11$(function () { 12 $('.date_arrival').datetimepicker({ 13 locale: 'ja', 14 format : 'YYYY/MM/DD HH:mm', 15 stepping: 1, 16 sideBySide: true, 17 }); 18}); 19</script>
となっています。
初期状態では、出発時刻、到着時刻 ともに正常に動作しています。
出発時刻が入力された場合 datetime() という別のJavaScriptの処理が呼び出され、Ajax にて出発時刻と所要時間から到着時刻が計算され、<div class="cal_datetime" id="cal_datetime">~</div> 内の内容が書き換えられられます。
書き換えられる内容としては
Ajax出力
1<input id="arrival_time" type="text" class="form-control date_arrival" name="arrival_time" value="※算出された到着時刻" placeholder="yyyy/mm/dd hh:mm">
※算出された到着時刻は、yyyy/mm/dd hh:mm (例:2018/03/21 17:14)です。
具体的な方式としては
Ajaxでは
Ajax処理
1$.ajax({ 2type: 'POST', 3contentType: false, 4processData: false, 5url: send_url, 6data: formData, 7success: function(data) { 8$('#cal_datetime').html(data); 9}, 10error: function(data) { 11alert('エラーが発生しました。'); 12}, 13});
という様に、send_url に指定したプログラムで到着時刻の計算を行い、そこでの値を先の
<input id="arrival_time" type="text" class="form-control date_arrival" name="arrival_time" value="※算出された到着時刻" placeholder="yyyy/mm/dd hh:mm">のvalueに「※算出された到着時刻」として入れて、<div>タグに挟まれた中身を書き換えています。
書き換え後は、到着時刻側のみ Bootstrap 3 Datepicker が動作しない状況となりました。
ChromeやFireFoxのデベロッパツールで見ているのですが、Consoleには特にエラーの出力はでていませんでした。
Ajaxで変更する前の初期状態では問題無く動作していましたので、Ajaxでの変更後の出力内容に間違いがあるのか、もしくは変更後についてJavaScript側の呼び出し方を変えなかればならない、などでしょうか?
補足情報(FW/ツールのバージョンなど)
◆動作環境
・Windows10 Pro 64bit
・Apache2.4
・PHP7.1
・Laravel5.5
・MySQL5.7
・Bootstrap 3 Datepicker
http://eonasdan.github.io/bootstrap-datetimepicker/

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/21 09:39
2018/03/21 09:49
2018/03/21 09:52 編集
2018/03/21 11:18 編集
2018/03/21 11:21
2018/03/21 11:33