bootstrap 单击日期两次时出现日期选择器无效日期问题?

bootstrap datepicker invalid date issue when i click date twice?

我正在使用 bootstrap 日期选择器,但在特定情况下我遇到了无效日期问题。如果我点击今天的日期,它工作正常,但是当我再次点击相同的日期时,它会出现无效日期问题。

所有日期也是如此,因为我看到其他插件找不到这个问题。

html: <input id="dp1" type="text" class="form-control input-sm" placeholder="Data CheckIn">

javascript:

$("#dp1").datepicker({
    format: "mm-dd-yyyy",
    viewMode: 'days',
    todayHighlight: true 
}).on('changeDate', function (ev) {
    var a = $('#dp1').datepicker('getDate');
    $(this).datepicker('hide');
    alert(a);
});

jsfiddle example

它不是 issue.When 您第一次点击它会在您再次点击同一日期时设置输入的选定日期,因此它会取消选择该日期。

var currentDate;
$('#dp1').datepicker({
    format: "mm-dd-yyyy",
    viewMode: 'days',
    todayHighlight: true

    // currently picked date
  }).on('show', function() {
    currentDate = $(this).val();
  })
  // if no date picked replace with previous date
  .on('changeDate', function(ev) {


    if ($(this).val() === '' || $(this).val() === null) {
      $(this).val(currentDate).datepicker('update');
    }
    var a = $('#dp1').datepicker('getDate');
    $(this).datepicker('hide');
    alert(a);

  });

经过一天的努力,我通过对插件进行了一些改动,自己解决了问题。

在 bootstrap-datepicker.js 方法中 _toggle_multidate 第 1024 行已被注释。

else if (ix !== -1)
{
    //this.dates.remove(ix);
}

它会很有魅力。希望对您有所帮助。

请尝试让我知道这个案例是否解决了您的问题 谢谢

你可以使用委托,它工作正常

$("body").delegate('.date' ,'focusin', function() {
     $(this).datepicker({
         autoclose: true,
         viewMode: 'days',
         todayHighlight: true
     });
});