日期选择器在选择月份或年份时自动隐藏
Datepicker automatically hide on month or year select
我可以在日期选择器中从日期返回到年份。但是当我尝试返回日期时,当我单击年份时,日期选择器会自动隐藏。
var datePickerOptions = this.data || {};
datePickerOptions.format = datePickerOptions.format || "mm-dd-yyyy";
datePickerOptions.language = datePickerOptions.language || this.lang.code;
var $context = this;
var dateContainer = this.container.find(".datepicker");
dateContainer.datepicker(datePickerOptions).on('changeDate', function (ev) {
// here i'm getting the value
});
This because of bootstrap-datepicker.js .
on click event you can find like following.
case 'span':
if (!target.is('.disabled')) {
this.viewDate.setUTCDate(1);
if (target.is('.month')) {
var day = 1;
var month = target.parent().find('span').index(target);
var year = this.viewDate.getUTCFullYear();
this.viewDate.setUTCMonth(month);
this._trigger('changeMonth', this.viewDate);
if (this.o.minViewMode === 1) {
this._setDate(UTCDate(year, month, day,0,0,0,0));
}
} else {
var year = parseInt(target.text(), 10)||0;
var day = 1;
var month = 0;
this.viewDate.setUTCFullYear(year);
this._trigger('changeYear', this.viewDate);
if (this.o.minViewMode === 2) {
this._setDate(UTCDate(year, month, day,0,0,0,0));
}
}
this.showMode(-1);
this.fill();
}
而不是 this.fill()
,如果您像以下代码一样使用,这将按预期工作。
if (target.is('.month')) {
if (!this._o.changeMonth) {
this.fill();
}
}
else {
if (!this._o.changeYear) {
this.fill();
}
}
我希望,这会对你有所帮助。
相关文章:
- 隐藏选择's optgroups及其内容(所选内容除外)
- 隐藏选择选项,并在单击定义的选项后显示它们
- 如何从窗体中隐藏选择值
- 如果选择了其他选择项目,则隐藏选择项目
- 显示/隐藏 选择 HTML5 JavaScript
- 如何向登录用户隐藏选择加入脚本
- 如何从另一个下拉列表中隐藏选择基于下拉列表的值
- 使用JavaScript隐藏选择选项
- 背景图像切换和隐藏选择复选框
- 当满足其他选择菜单值时取消隐藏选择菜单 - jQuery
- 展开按钮单击时选择列表并隐藏选择
- AngularJS - 隐藏<选择>元素,如果ng-option为空
- 使用 javascript/ 显示和隐藏选择框
- 如何隐藏选择(下拉列表)的选定文本
- 如何隐藏选择下拉选择
- 根据多个选择隐藏选择选项
- 隐藏“选择”下拉列表的元素
- 动态隐藏选择框中的选项(取决于第一个选择的值)
- 根据另一个选择的值隐藏选择选项
- 隐藏选择器始终决定元素可见,即使元素不可见