我点击日期两次时bootstrap datepicker无效日期问题?

时间:2015-05-05 05:54:48

标签: javascript jquery twitter-bootstrap date datepicker

我正在使用bootstrap datepicker,并且在特定情况下我得到了无效的日期问题。如果我今天点击日期它工作正常,但当我再次点击相同的日期时,它会给出无效的日期问题。

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

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

4 个答案:

答案 0 :(得分:1)

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);

  });

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

这不是问题。当您再次点击时,当您再次在同一日期再次点击时,它将在输入上设置所选日期,以便取消选择该日期。

答案 3 :(得分:0)

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

在bootstrap-datepicker.js方法中_toggle_multidate行没有注释1024。

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

它会像魅力一样起作用。我希望这可以提供帮助。

如果此案例可以解决您的问题,请尝试让我知道 感谢