Javascript JQuery datepicker,仅在输入时为月-年
我有一个问题,非常类似于: 区别在于我使用的是输入版本,而不是div。 在div中,ui日期选择器日历位于外部div中,因此可以唯一地访问。 但是对于输入,输入和ui datepicker日历之间没有关系,或者,我没有发现。。。 需要明确的是,我不能使用global.ui日期选择器日历{display:none;},因为我有其他日期选择器,它是一个完整的日历,也就是说,也使用日期。 我的代码如下所示:Javascript JQuery datepicker,仅在输入时为月-年,javascript,jquery,jquery-ui,calendar,datepicker,Javascript,Jquery,Jquery Ui,Calendar,Datepicker,我有一个问题,非常类似于: 区别在于我使用的是输入版本,而不是div。 在div中,ui日期选择器日历位于外部div中,因此可以唯一地访问。 但是对于输入,输入和ui datepicker日历之间没有关系,或者,我没有发现。。。 需要明确的是,我不能使用global.ui日期选择器日历{display:none;},因为我有其他日期选择器,它是一个完整的日历,也就是说,也使用日期。 我的代码如下所示: $("#monthsYearInput").datepicker({ changeMo
$("#monthsYearInput").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "mm/yy",
onClose: function(dateText) {
if (dateText != "") {
var selectedDate = $.datepicker.parseDate("dd/mm/yy", "01/" + dateText);
$(this).datepicker("setDate", selectedDate);
$(this).datepicker("refresh");
}
},
beforeShow: function() {
var dateText = $(this).val();
var isPopulated = dateText.length > 0;
if (isPopulated) {
var selectedDate = $.datepicker.parseDate("dd/mm/yy", "01/" + dateText);
$(this).datepicker("option", "defaultDate", selectedDate);
$(this).datepicker("setDate", selectedDate);
$(this).datepicker("refresh");
}
},
onChangeMonthYear: function(year, month) {
if (changingDate) {
return;
}
changingDate = true;
$(this).datepicker("setDate", new Date(year, month - 1, 1));
$(this).datepicker("refresh");
changingDate = false;
}
});
$("#monthsYearInput").focus(function () {
$(".ui-datepicker-calendar").hide();
};
$("#monthsYearInput").blur(function () {
$(".ui-datepicker-calendar").hide();
};
开始时看起来一切正常,但当年/月发生变化时,新日期将填充到所需的输入中,但现在日历显示not desired
关于如何解决这个问题有什么想法吗
提前谢谢
JSfiddle:我认为,您仍然可以使用类似于您链接的css,但只针对一个日期选择器
#monthsYearInput .ui-datepicker-calendar { display: none;}
你能把你的代码放到JSFIDLE上让我们看看它在做什么吗?我可能在做了一些熟悉的事情,但如果没有JSFIDLE演示,我就说不出来了…好的, 我想出了某种解决办法:
var superUpdateDatepicker = $.datepicker._updateDatepicker;
$.datepicker._updateDatepicker = function(inst) {
var ret = superUpdateDatepicker.apply(this, arguments);
if (inst.id == "monthsYearInput") {
$(".ui-datepicker-calendar").hide();
}
return ret;
}
工作的时候,我对它不满意。
它太粗糙,不干净,我就是不喜欢它
有更好的主意吗?…如果没有向提供日期值,则默认情况下将其设置为1。谢谢。但它与所描述的问题有什么关系?…没什么,这是对代码的注释,不是答案。这就是为什么它是一个评论-