如何在Bootstrap日期选择器中获取下个月而不是下一个上一个图标?

问题描述 投票:0回答:1

我正在使用引导程序datepicker,我想更改下个月和上个月的显示,而不是箭头。我已经完成了一些功能,但无法正常工作...

$(document).ready(function() {
  var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  $('#datepicker').datepicker({
    inline: true,
    todayHighlight: true,
  }).on('changeDate', function(e) {
    $('#dt_due').val(e.format('dd/mm/yyyy'));
  }).on('changeMonth', function(e) {
    var prevMonth = new Date(e.date).getMonth();
    console.log(prevMonth);
    prevMonth > 12 ? prevMonth = 0 : prevMonth;
    var currMonth = new Date(e.date).getMonth() + 1;
    console.log(currMonth);
    $('.pickDate').find('table .prev').html(monthNames[prevMonth]);
    var nextMonth = new Date(e.date).getMonth() + 2;
    console.log(nextMonth);
    nextMonth > 12 ? nextMonth = 0 : nextMonth;
    $('.pickDate').find('table .next').html(monthNames[nextMonth]);
    $('#dt_due').val(e.format('dd/mm/yyyy'));
  });

  function getInitMonths() {
    var prevMonth = new Date().getMonth();
    console.log(prevMonth);
    var currMonth = new Date().getMonth() + 1;
    console.log(currMonth);
    console.log(monthNames[currMonth - 1])
    $('.pickDate').find('table .prev').html(monthNames[currMonth - 2]);
    var nextMonth = new Date().getMonth() + 2;
    console.log(nextMonth);
    nextMonth > 12 ? nextMonth = 0 : nextMonth;
    $('.pickDate').find('table .next').html(monthNames[nextMonth]);
  }
  getInitMonths();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.css">
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script>
<div id="datepicker" class="pickDate"></div>

我该怎么做?

注意:当月份为12月,1月时出现问题...

请帮助/建议我...

javascript html datetimepicker bootstrap-datepicker
1个回答
0
投票

$(document).ready(function() {
  var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  $('#datepicker').datepicker({
    inline: true,
    todayHighlight: true,
  }).on('changeDate', function(e) {
    $('#dt_due').val(e.format('dd/mm/yyyy'));
  }).on('changeMonth', function(e) {
    var prevMonth = new Date(e.date).getMonth();
    console.log(prevMonth);
    prevMonth > 12 ? prevMonth = 0 : prevMonth;
    var currMonth = new Date(e.date).getMonth() + 1;
    console.log(currMonth);
    $('.pickDate').find('table .prev').html(monthNames[prevMonth]);
    var nextMonth = new Date(e.date).getMonth() + 2;
    console.log(nextMonth);
    nextMonth > 12 ? nextMonth = 0 : nextMonth;
    $('.pickDate').find('table .next').html(monthNames[nextMonth]);
    $('#dt_due').val(e.format('dd/mm/yyyy'));
  });

  
  getInitMonths();
});
function getInitMonths() {
    var prevMonth = new Date().getMonth();
    console.log(prevMonth);
    var currMonth = new Date().getMonth() + 1;
    console.log(currMonth);
    console.log(monthNames[currMonth - 1])
    $('.pickDate').find('table .prev').html(monthNames[currMonth - 2]);
    var nextMonth = new Date().getMonth() + 2;
    console.log(nextMonth);
    nextMonth > 12 ? nextMonth = 0 : nextMonth;
    $('.pickDate').find('table .next').html(monthNames[nextMonth]);
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.css">
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script>
<div id="datepicker" class="pickDate"></div>
© www.soinside.com 2019 - 2024. All rights reserved.