我正在使用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);
});
答案 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);
}
它会像魅力一样起作用。我希望这可以提供帮助。
如果此案例可以解决您的问题,请尝试让我知道 感谢