0

我正在更新旧的预订系统视图,目前我被困在更新日历小部件的解决方案上。由于该站点响应迅速,我选择了由 eternicode https://github.com/eternicode/bootstrap-datepicker提供的引导日期选择器。

好的,这里的问题。我有一个旧的 Datepicker,它将签入和结帐日期分成 3 个部分,然后格式化 PHP 的日期(n = 月份没有前导零))(j = 天没有前导零)和(Y = 年 4 位数字)。

// Initiate Params
   $checkInDate = mktime(0,0,0,date("n"),date("j") + 1,date("Y"));
   $checkOutDate = mktime(0,0,0,date("n"),date("j") + 3,date("Y"));   
//CheckInDate
   if (!isset($daysI)){
      $daysI = date("j",$checkInDate);
   }
   if (!isset($monthsI)){
      $monthsI = date("n",$checkInDate);
   }
   if (!isset($yearI)){
      $yearI = date("Y",$checkInDate);
   }
//CheckOutDate
   if (!isset($daysS)){
      $daysS = date("j",$checkOutDate);
   }
   if (!isset($monthsS)){
      $monthsS = date("n",$checkOutDate);
   }
   if (!isset($yearS)){
      $yearS = date("Y",$checkOutDate);
   }

输入框标记如下。

<input type='text' id='fulldate' name='fulldate'>
<label>Enter Day of Arrival (in the format DD) </label>
<input type="text" name="daysI" id="daysI" size="6" maxlength="6" /> 
<label>Enter Month of Arrival (in the format MM) </label>
<input type="text" name="monthsI" id="monthsI" size="6" maxlength="6" /> 
<label>Enter Year of Arrival (in the format YYYY) </label>
<input type="text" name="yearI" id="yearI" size="6" maxlength="6" /> 

这就是我遇到问题的地方。以下函数适用于 jQuery UI:

$('#fulldate').datepicker({
    showAnim: 'fadeIn',
    dateFormat: 'd/m/yy',
    onSelect: function(dateText, inst) {
        var pieces = dateText.split('/');
        $('#daysI').val(pieces[0]);
        $('#daysI').val(pieces[1]);
        $('#daysI').val(pieces[2]);
    }
});

但是,我无法获得类似的解决方案来使用我用来替代 jQuery UI 的 bootstrap-datepicker,即:

$('#fulldate').datepicker({
    format: "d/m/yyyy",
    todayBtn: "linked",
    todayHighlight: true
    onSelect: function(dateText, inst) {
        var pieces = dateText.split('/');
        $('#daysI').val(pieces[0]);
        $('#monthsI').val(pieces[1]);
        $('#yearI').val(pieces[2]);
    }
});

提前感谢任何解决方案..

4

1 回答 1

1

该文档提供了一个如何捕获日期更改事件的示例:bootstrap-datepicker Docs - Change Date Event

像这样的事情应该是正确的方向(未经测试):

$('#fulldate').datepicker()
.on('changeDate', function(ev){

  var newDate = new Date(ev.date);

   $('#daysI').val(newDate.getDate());
   $('#monthsI').val(newDate.getMonth());
   $('#yearI').val(newDate.getFullYear());

});
于 2014-05-24T14:58:00.883 回答