我正在使用Laravel 5.4,并开始使用Dan Grossman的[Date Range Picker] 1选择两个日期,然后Ajax的请求将在稍后获得响应并将结果显示在{{ 3}}。
Ajax方面运行良好,我已经对其进行了测试,并且运行良好。但是现在我的问题在使用Datepicker之后开始,结果第一次正确显示并看起来正常,但是当我选择日期并选择日期然后在搜索按钮上单击Submit之前,它保持相同的数据,这意味着Ajax不能与new一起使用变化,请问原因和解决方法,以使AJAX请求发送的数据正常运行。
HTML代码:
<div id="reportrange"
style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="fa fa-calendar"></i>
<span></span> <i class="fa fa-caret-down"></i>
</div>
<input type="submit" id="search_leads" name="search" value="search" class="btn btn-primary">
jQuery代码:
$(document).ready(function () {
$(function () {
var start = moment().subtract(15, 'days');
var end = moment();
function cb(start, end) {
$('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
}
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
}
}, cb);
cb(start, end);
// alert(start.format('YYYY-M-DD hh:mm:ss') + end.format('YYYY-M-DD hh:mm:ss'));
var allUsersTable = $('.allleads').DataTable({
processing: true,
serverSide: true,
// "bSort": false,
ajax: {
url: "{{ url('lead/GetAllLeads') }}",
data: function (d) {
d.level = $('#levelFilter').val(),
d.start_time = start.format('YYYY-M-DD hh:mm:ss'),
d.end_time = end.format('YYYY-M-DD hh:mm:ss')
}
},
{{--"ajax": "{{ url('lead/GetAllLeads') }}",--}}
// "data": level = $('#levelFilter').val(),
columns: [
{"data": "lead", "name": "lead"},
{"data": "email", "name": "email"},
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
]
});
$("#search_leads").click(function () {
allUsersTable.draw();
});
});
`