jquery UI Datepicker无法更新月份或年份--必须选择日期
除非用户选择日期,否则日期选择器选择不会更改年份或月份。查找要更新的月/年(即使未选择日期):jquery UI Datepicker无法更新月份或年份--必须选择日期,jquery,datepicker,Jquery,Datepicker,除非用户选择日期,否则日期选择器选择不会更改年份或月份。查找要更新的月/年(即使未选择日期): <input class="childdob dateinput datepickers hasDatepicker valid" placeholder="Date of Birth*" name="child_dob[0]" type="text"> $(function() { $('form').on('focus', '.datepickers', fun
<input class="childdob dateinput datepickers hasDatepicker valid"
placeholder="Date of Birth*" name="child_dob[0]" type="text">
$(function() {
$('form').on('focus', '.datepickers', function(event){
event.preventDefault();
$(this).datepicker( {
changeMonth: true,
changeYear: true,
yearRange: '1990:+0',
showButtonPanel: true,
dateFormat: 'mm/dd/y',
constrainInput: false
}).datepicker('show');
});
});
$(函数(){
$('form')。on('focus','datepickers',函数(事件){
event.preventDefault();
$(此).datepicker({
变化月:对,
变化年:是的,
年份范围:“1990:+0”,
showButtonPanel:是的,
日期格式:“mm/dd/y”,
输入:false
}).日期选择器(“显示”);
});
});
下面的示例演示了在更改月/年下拉菜单或单击月箭头而不直接选择日期时更新选定的月和年。它任意地将日期设置为每月的1号,因此如果希望在选择了某一天之后保持该日期,则需要进行修改
$(函数(){
$(“.datepicker”).datepicker({
变化月:对,
变化年:是的,
年份范围:“1990:+0”,
showButtonPanel:是的,
日期格式:“mm/dd/yy”,
输入:false,
onChangeMonthYear:函数(年、月){
var selectedMonth=月份;
var selectedYear=年;
$(this.datepicker(“setDate”,month+“/01/”+year);
}
});
});代码>
日期:
下面的示例演示了在更改月/年下拉菜单或单击月箭头而不直接选择日期时更新所选的月和年。它任意地将日期设置为每月的1号,因此如果希望在选择了某一天之后保持该日期,则需要进行修改
$(函数(){
$(“.datepicker”).datepicker({
变化月:对,
变化年:是的,
年份范围:“1990:+0”,
showButtonPanel:是的,
日期格式:“mm/dd/yy”,
输入:false,
onChangeMonthYear:函数(年、月){
var selectedMonth=月份;
var selectedYear=年;
$(this.datepicker(“setDate”,month+“/01/”+year);
}
});
});代码>
日期:
此版本保留月份的日期。
这是以下答案的改进版本:
$(函数(){
$(“.datepicker”).datepicker({
变化月:对,
变化年:是的,
年份范围:“1990:+0”,
showButtonPanel:是的,
日期格式:“mm/dd/yy”,
输入:false,
onChangeMonthYear:函数(年、月){
var$datepicker=jQuery(this);
var date=新日期($datepicker.datepicker(“getDate”));
var lastDayOfMonth=新日期(年、月、0).getDate();
var preservedDay=Math.min(lastDayOfMonth,Math.max(1,date.getDate());
$datepicker.datepicker(“设置日期”,月+“/”+保存日期+“/”+年);
}
});
});代码>
日期:
此版本保留月份的日期。
这是以下答案的改进版本:
$(函数(){
$(“.datepicker”).datepicker({
变化月:对,
变化年:是的,
年份范围:“1990:+0”,
showButtonPanel:是的,
日期格式:“mm/dd/yy”,
输入:false,
onChangeMonthYear:函数(年、月){
var$datepicker=jQuery(this);
var date=新日期($datepicker.datepicker(“getDate”));
var lastDayOfMonth=新日期(年、月、0).getDate();
var preservedDay=Math.min(lastDayOfMonth,Math.max(1,date.getDate());
$datepicker.datepicker(“设置日期”,月+“/”+保存日期+“/”+年);
}
});
});代码>
日期:
工作正常,但是如果您使用的是不同的日期格式,它可能会对您在日期选择器('setDate',xxx)
方法中使用的格式有点挑剔,如果您没有完全正确地理解,它的行为会很奇怪。所以最好对格式保持“干巴巴”的态度,只在一个地方指定它
此外,datepicker本身在更改月份时处理日期保存,因此无需计算月份中的天数
这是塞巴斯蒂安·巴特改进版的进一步改进版
$(函数(){
$(“.datepicker”).datepicker({
变化月:对,
变化年:是的,
月数:3,
默认日期:“+1w”,
maxDate:新日期(),
年份范围:“1990:+0”,
showButtonPanel:是的,
日期格式:“yy,md”,
输入:false,
onChangeMonthYear:功能(年、月、月){
var format=inst.settings.dateFormat
var selectedDate=新日期(inst.selectedYear、inst.selectedMonth、inst.selectedDay)
变量日期=$.datepicker.formatDate(格式,selectedDate);
$(this).datepicker(“setDate”,date);
}
});
});代码>
日期:
工作正常,但是如果您使用的是不同的日期格式,它可能会对您在日期选择器('setDate',xxx)
方法中使用的格式有点挑剔,如果您没有完全正确地理解,它的行为会很奇怪。所以最好对格式保持“干巴巴”的态度,只在一个地方指定它
此外,datepicker本身在更改月份时处理日期保存,因此无需计算月份中的天数
这是塞巴斯蒂安·巴特改进版的进一步改进版
$(函数(){
$(“.datepicker”).datepicker({
变化月:对,
变化年:是的,
月数:3,
默认日期:“+1w”,
maxDate:新日期(),
年份范围:“1990:+0”,
showButtonPanel:是的,
日期格式:“yy,md”,
输入:false,
onChangeMonthYear:功能(年、月、月){
var format=inst.settings.dateFormat
var selectedDate=新日期(inst.selectedYear、inst.selectedMonth、inst.selectedDay)
变量日期=$.datepicker.formatDate(格式,selectedDate);
$(此).datepicker(“setDate”,