根据所选月份打开完整日历

时间:2016-07-28 07:36:50

标签: jquery css datepicker calendar

我正在使用基础日期选择器和完整日历。我的要求是,

1)如果我在日历中选择任何日期,

例如,当前月份是2016年7月。如果我在11月或基金会日期选择器中选择任何其他月份的日期,则完整日历应该从所选月份开始。请看小提琴。一个日期选择器和一个完整的日历就在那里。

请看以下小提琴。

jsfiddle

默认情况下,完整日历是在7月份。在开始时,一个mor datepicker就在那里。如果我更改该日期选择器上的任何日期,那么当时fullCalendar应该在所选月份上进行操作。



	var nowTemp = new Date();
      var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
      var checkin = jQuery('#startDate').fdatepicker({
          format: "dd.mm.yyyy", 
      }).data('datepicker');
      var checkout = jQuery('#endDate').fdatepicker({
          format: "dd.mm.yyyy", 
      }).on('changeDate', function (ev) {
            
          }).data('datepicker');

          
  
  
  $(document).ready(function() {

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();

    var events_array = [
        {
        title: 'Test1',
        start: new Date(2012, 8, 20),
        tip: 'Personal tip 1'},
    {
        title: 'Test2',
        start: new Date(2012, 8, 21),
        tip: 'Personal tip 2'}
    ];

    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        selectable: true,
        events: events_array,
        eventRender: function(event, element) {
            element.attr('title', event.tip);
        }
    });
});

$(".fc-header-left").hide();
$(".fc-header-right").hide();

  $(window).scroll(function() {
    if ($(this).scrollTop() > 1){  
        $('.fc-border-separate thead').addClass("sticky");
    }
    else{
        $('.fc-border-separate thead').removeClass("sticky");
    }
    });

	.tag{
  background-color:#000;
  color:#fff;
  padding:3px;
  max-height:60px;
  overflow: visible;  
  position: fixed;
  z-index:999;
}
.tag:after {
  content: "";
  border-top: 16px solid red;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  position: absolute;
  bottom: -16px;
  left: calc(50% - 8px);
}
.fc-border-separate thead.sticky{
	width: 100%;
	position: fixed;
	top:0px;
	left:0px;
	display:table;
	background: #fff;
}

</br>
    
Datepicker :<input type="text" id="endDate" name="end_datum" class="input_text" value=""></br></br></br></br>

<div style="border:solid 2px red;">
	<div id='calendar'></div>
</div>
<div class="tag hide" id="cal-info">

</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

请查看更新的小提琴代码:

http://jsfiddle.net/v98sb2a0/12/

只要有人在datepicker控件中选择日期,我们就可以使用gotoDate method of full calendar强制完整日历切换到不同的月份:

以下是基础datepicker及其changeDate事件处理程序的代码,它会更改完整日历的月份:

var checkin = jQuery('#startDate').fdatepicker({
      format: "dd.mm.yyyy",
    }).data('datepicker');
    var checkout = jQuery('#endDate').fdatepicker({
      format: "dd.mm.yyyy",
    }).on('changeDate', function(ev) {

      var startDate = new Date(ev.date);
      $('#calendar').fullCalendar('gotoDate', startDate);//modify the date of full calendar

    }).data('datepicker');