我不是开发者,更像是设计师。我在两个不同的页面上有一个日历,这两个页面的行为应该不同。所以我修改了一些代码以便它发生,并且它在我测试它时做了。 但是现在我必须将这两个变体集成在一起,当然gulp因为“已定义”错误而无法编译。所以我试图将它们与一些逻辑合并,但我是一个菜鸟,所以我需要你的帮助。 这是两位,我试图做的,但我确定这是错的
// Field used on the calendar view.
var dateFromFilter = $("#dateFromFilter").not($(".unlimitedDateFilter"))
.fdatepicker($.extend({}, datepickerCommonOptions, {
onRender: function(date) {
return date.valueOf() < now.valueOf() ? "disabled" : "";
}
}))
.on("changeDate", function(ev) {
if (ev.date.valueOf() > dateToFilter.date.valueOf()) {
var newDate = new Date(ev.date);
newDate.setDate(newDate.getDate() + 1);
dateToFilter.update(newDate);
}
dateFromFilter.hide();
$("#dateToFilter")[0].focus();
})
.data("datepicker");
// Field used on the sales results view
var dateFromFilter = $("#dateFromFilter.unlimitedDateFilter")
.fdatepicker($.extend({}, datepickerCommonOptions))
.on("changeDate", function(ev) {
if (ev.date.valueOf() > dateToFilter.date.valueOf()) {
var newDate = new Date(ev.date);
newDate.setDate(newDate.getDate() + 1);
dateToFilter.update(newDate);
}
dateFromFilter.hide();
$("#dateToFilter")[0].focus();
})
.data("datepicker");
我的尝试:
var dateFromFilter = $("#dateFromFilter")
if ($("dateFromFilter").hasClass(unlimitedDateFilter)) {
$.fdatepicker($.extend({}, datepickerCommonOptions))
}
else {
$.fdatepicker($.extend({}, datepickerCommonOptions, {
onRender: function(date) {
return date.valueOf() < now.valueOf() ? "disabled" : "";
}
}))
}
$.on("changeDate", function(ev) {
if (ev.date.valueOf() > dateToFilter.date.valueOf()) {
var newDate = new Date(ev.date);
newDate.setDate(newDate.getDate() + 1);
dateToFilter.update(newDate);
}
dateFromFilter.hide();
$("#dateToFilter")[0].focus();
})
.data("datepicker");
感谢您的帮助
编辑:
感谢您的建议,我试图将条件放在onRender中,但它不起作用。我想我需要在条件中封装onRender本身,但我不知道语法应该如何。
// Field used on the sales results view
var dateFromFilter = $("#dateFromFilter")
.fdatepicker($.extend({}, datepickerCommonOptions, {
onRender: function(date) {
if (!$("dateFromFilter").hasClass("unlimitedDateFilter")) {
return date.valueOf() < now.valueOf() ? "disabled" : "";
}
}
}))
.on("changeDate", function(ev) {
if (ev.date.valueOf() > dateToFilter.date.valueOf()) {
var newDate = new Date(ev.date);
newDate.setDate(newDate.getDate() + 1);
dateToFilter.update(newDate);
}
dateFromFilter.hide();
$("#dateToFilter")[0].focus();
})
.data("datepicker");