【发布时间】:2014-07-29 11:28:35
【问题描述】:
我的 UI 中包含 jquery UI 日期选择器。我已从显示面板中删除了今天和关闭按钮,如下所示。
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
display:none;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-close {
display:none;
}
之后,我在显示面板中添加了 3 个新按钮。单击文本框时,我可以看到所有三个按钮。但是在单击上一个和下个月的按钮时,我看不到任何按钮。显示面板为空。
为什么会这样?
我的 jQuery 代码在下面添加新按钮。
$(dateFrom).datepicker({
dateFormat: 'mm/dd/yy',
showButtonPanel: true,
prevText: "",
nextText: "",
maxDate: '+30Y',
yearRange: '1999:c',
beforeShow: function (input) {
setTimeout(function () {
var buttonPane = $(input).datepicker("widget").find(".ui-datepicker-buttonpane");
var btn1Day = $('<button class="ui-state-default ui-priority-secondary ui-corner-all" type="button">1 Day</button>');
var btn2Day = $('<button class="ui-state-default ui-priority-secondary ui-corner-all" type="button">2 Days</button>');
var btn7Day = $('<button class="ui-state-default ui-priority-secondary ui-corner-all" type="button">7 Days</button>');
btn1Day.bind("click", function () {
buttonPane.hide();
var date2 = $(input).datepicker('getDate');
date2.setDate(date2.getDate() + 1);
$(dateTo).datepicker('setDate', date2);
$(dateTo).removeClass('blur').addClass('focus');
$(input).datepicker('hide');
});
btn2Day.bind("click", function () {
var date2 = $(input).datepicker('getDate');
date2.setDate(date2.getDate() + 2);
$(dateTo).datepicker('setDate', date2);
$(dateTo).removeClass('blur').addClass('focus');
$(input).datepicker('hide');
});
btn7Day.bind("click", function () {
var date2 = $(input).datepicker('getDate');
date2.setDate(date2.getDate() + 7);
$(dateTo).datepicker('setDate', date2);
$(dateTo).removeClass('blur').addClass('focus');
$(input).datepicker('hide');
});
btn1Day.appendTo(buttonPane);
btn2Day.appendTo(buttonPane);
btn7Day.appendTo(buttonPane);
}, 1);
},
onClose: function (input) {
if ($(dateFrom).val() != "mm/dd/yyyy") {
$(dateTo).datepicker("option", "minDate", $(dateFrom).val());
}
},
onSelect: function (date, input) {
$(dateFrom).removeClass('blur').addClass('focus');
$(input).datepicker('show');
$(date).removeClass('ui-datepicker-calendar ui-state-default').addClass('ui-state-active');
}
});
【问题讨论】:
-
您是如何/在哪里添加它们的。显示一些代码。
标签: jquery jquery-ui-datepicker