问题描述
在Laravel-5.8中,我有2个输入,其中选择了日期.start_date和.end_date。我正在使用JQuery-UI datepicker,目前已使用json从控制器发送了国庆节以查看:
控制器
public function findNationalHoliday(Request $request)
{
$nationalholidays = HrNationalHoliday::select('holiday_date')->whereYear('created_at','=',date('Y'))->get();
return response()->json([
'nationalholidays' => $nationalholidays,]);
}
这有效。
我当前在视图刀片中的代码如下:
<input type="text" id="start_date" class="form-control start_date" readonly autocomplete="off" name="start_date" value="{{old('start_date')}}" >
<input type="text"
id="leave_days"
name="leave_days"
class="form-control leave_days"
placeholder="e.g. 10"
value="{{old('leave_days')}}"
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0,this.maxLength);"
style="width: 100%;"
maxlength="3" onkeyup="checkScore(this.value)" onkeypress="allowNumbersOnly(event)">
<input type="text" id="end_date" class="form-control end_date" placeholder="dd/mm/yyyy" readonly autocomplete="off" name="end_date" value="{{old('end_date')}}" >
JavaScript
<script type="text/javascript">
$(document).ready(function() {
$(document).on('change','#leave_type',function() {
var air_id = $(this).val();
var a = $(this).parent();
var op = "";
$.ajax({
type: 'get',url: '{{ route('get.nationalholidays.all') }}',data: { 'id': air_id },dataType: 'json',//return data will be json
success: function(data) {
$('#nationalholidays').val(data.nationalholidays);
console.log(data.nationalholidays);
},error:function(){
}
});
});
});
</script>
<script type="text/javascript">
$("#leave_days").on('keyup blur',function (e) {
var periodval=parseInt($("#leave_days").val());
var startDate = $('.start_date');
var endDate = $('.end_date');
var dte = startDate.datepicker("getDate");
dte.setDate(dte.getDate()+periodval);
endDate.datepicker("setDate",dte);
});
$( '.start_date' ).datepicker({
dateFormat: 'dd-mm-yy',changeMonth: true,changeYear: true,showAnim: 'slideDown',duration: 'fast',minDate: +1,setDate: new Date(),beforeShowDay: $.datepicker.noWeekends,yearRange: new Date().getFullYear() + ':' + new Date().getFullYear(),}).datepicker('setDate','1');
$( '.end_date' ).datepicker({
dateFormat: 'dd-mm-yy',enableOnReadonly: true,beforeShow: function(i) { if ($(i).attr('readonly')) { return false; } }
});
});
</script>
从上面的代码中,用户选择开始日期,当用户键入请假日期时,将自动生成结束日期。
这也可以。
success: function(data) {
$('#nationalholidays').val(data.nationalholidays);
console.log(data.nationalholidays);
},
holiday_days在控制台中如下所示:
0:
holiday_date: "2020-08-25 00:00:00"
__proto__: Object
1:
holiday_date: "2020-08-26 00:00:00"
__proto__: Object
2: {holiday_date: "2020-09-25 00:00:00"}
3: {holiday_date: "2020-11-30 00:00:00"}
4: {holiday_date: "2020-09-25 00:00:00"}
5: {holiday_date: "2020-09-30 00:00:00"}
6: {holiday_date: "2020-10-14 00:00:00"}
length: 7
__proto__: Array(0)
但是,我要实现的是用户选择start_date,并且当他输入Leave_days时,应该自动生成end_date并减去holiday_dates和Weekends。
如何完成此操作?
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)