选择日期后,Bootstrap datepicker不会自动关闭

All*_*ash 21 javascript jquery datepicker twitter-bootstrap

我使用最新的Bootstrap datepicker.js.一切正常,但是当我从下拉列表中选择一个日期时,它不会自动关闭它.我搜索了网页并尝试在我的javascript中使用以下函数,如下所示:

 $('#selectDate').datepicker({
    autoclose: true
}).on('changeDate', function (ev) {
    (ev.viewMode == 'days') ? $(this).datepicker('hide') : '';      
});
Run Code Online (Sandbox Code Playgroud)

但是当我使用谷歌Chrome开发工具时,我意识到ev.viewmode是未定义的.我不确定如何前进.

Muk*_*ain 21

试试这个:

$('#selectDate').datepicker()
.on('changeDate', function(ev){                 
    $('#selectDate').datepicker('hide');
});
Run Code Online (Sandbox Code Playgroud)

更新:

autoclose 当您使用github上存在的更新版本的datepicker时工作正常:

https://github.com/eternicode/bootstrap-datepicker

  • 自动关闭是我正在寻找的,可能会用 .datepicker({ autoclose: true }); 更新它; (2认同)

Cha*_*a K 16

我添加了 autoclose:true, (最后用半逗号,它可以工作)

 $('.datepicker').datepicker({
    format: 'dd/mm/yyyy',
    todayHighlight:'TRUE',
    autoclose: true,
})
Run Code Online (Sandbox Code Playgroud)


nor*_*man 11

以上都没有为我工作,但是覆盖datepicker默认选项就像一个魅力,并且是一个单行:

$.fn.datepicker.defaults.autoclose = true;
Run Code Online (Sandbox Code Playgroud)


Ibr*_*tov 9

试试这个:

$('#selectDate').datepicker().on('changeDate', function(ev)
{                 
     $('.datepicker').hide();
});
Run Code Online (Sandbox Code Playgroud)


Ani*_*ali 6

如果你有多个文本框已经应用了datepicker,那么旧的解决方案可能会导致问题,请尝试这样做,

$('.datepicker').datepicker({
     format: "dd/mm/yyyy",
     autoclose: true,
}).on('changeDate', function (ev) {
     $(this).datepicker('hide');
});
Run Code Online (Sandbox Code Playgroud)

请注意这一点,https://github.com/eternicode/bootstrap-datepicker/issues/500

注意:不要忘记,我们正在使用jquery的类选择器,因此您需要将datepicker类应用于您的文本框.