如何解决如何从 daterangepicker 中获取选定的值?
我想在使用以下代码从 datepicker 中选择后获取 startDate 和 endDate,这样我就可以进行 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>
这是我的 jquery 部分
$('#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,'Last 30 Days': [moment().subtract(29,'This Month': [moment().startOf('month'),moment().endOf('month')],'Last Month': [moment().subtract(1,'month').startOf('month'),'month').endOf('month')]
}
},cb).on("change",function() {
$('#reportrange').daterangepicker({ opens: 'left' },function(start,end,label) {
console.log("Your Select date range is: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
});
});
cb(start,end);
解决方法
您可以使用 daterangepicker 的 apply.daterangepicker
event 执行此操作。下面是在选择范围时获取 daterangepicker 的选定开始和结束日期的示例。
$(function () {
var start = moment().subtract(29,'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,'Last 30 Days': [moment().subtract(29,'This Month': [moment().startOf('month'),moment().endOf('month')],'Last Month': [moment().subtract(1,'month').startOf('month'),'month').endOf('month')]
}
},cb).on('apply.daterangepicker',function (ev,picker) {
var startDate = picker.startDate.format('YYYY-MM-DD');
var endDate = picker.endDate.format('YYYY-MM-DD');
console.log(`startDate = ${startDate},endDate = ${endDate}`);
});
cb(start,end);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js" integrity="sha512-XKa9Hemdy1Ui3KSGgJdgMyYlUg1gM+QhL6cnlyTe2qzMCYm4nAZ1PsVerQzTTXzonUR+dmswHqgJPuwCq1MaAg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-daterangepicker/3.0.5/daterangepicker.min.js" integrity="sha512-mh+AjlD3nxImTUGisMpHXW03gE6F4WdQyvuFRkjecwuWLwD2yCijw4tKA3NsEFpA1C3neiKhGXPSIGSfCYPMlQ==" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css" integrity="sha512-P5MgMn1jBN01asBgU0z60Qk4QxiXo86+wlFahKrsQf37c9cro517WzVSPPV1tDKzhku2iJ2FVgL67wG03SGnNA==" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-daterangepicker/3.0.5/daterangepicker.min.css" integrity="sha512-rBi1cGvEdd3NmSAQhPWId5Nd6QxE8To4ADjM2a6n0BrqQdisZ/RPUlm0YycDzvNL1HHAh1nKZqI0kSbif+5upQ==" crossorigin="anonymous" />
<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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。