Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery UI Datepicker无法更新月份或年份--必须选择日期_Jquery_Datepicker - Fatal编程技术网

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”,