php 月份查询生日_jQuery年月日(生日)选择器

这是一个使用jQuery编写的日期选择器插件。该插件初始化年、月、日的下拉列表,并根据所选年份和月份动态生成天数。在年份或月份改变时,会更新天数列表,确保符合实际的日期范围。适用于网页表单中的日期输入。
摘要由CSDN通过智能技术生成

(function($){

$.extend({

ms_DatePicker: function (options) {

var defaults = {

YearSelector: "#sel_year",

MonthSelector: "#sel_month",

DaySelector: "#sel_day",

FirstText: "--",

FirstValue: 0

};

var opts = $.extend({}, defaults, options);

var $YearSelector = $(opts.YearSelector);

var $MonthSelector = $(opts.MonthSelector);

var $DaySelector = $(opts.DaySelector);

var FirstText = opts.FirstText;

var FirstValue = opts.FirstValue;

// 初始化

var str = ""+FirstText+"";

$YearSelector.html(str);

$MonthSelector.html(str);

$DaySelector.html(str);

// 年份列表

var yearNow = new Date().getFullYear();

var yearSel = $YearSelector.attr("rel");

for (var i = yearNow; i >= 1900; i--) {

var sed = yearSel==i?"selected":"";

var yearStr = ""+i+"";

$YearSelector.append(yearStr);

}

// 月份列表

var monthSel = $MonthSelector.attr("rel");

for (var i = 1; i <= 12; i++) {

var sed = monthSel==i?"selected":"";

var monthStr = ""+i+"";

$MonthSelector.append(monthStr);

}

// 日列表(仅当选择了年月)

function BuildDay() {

if ($YearSelector.val() == 0 || $MonthSelector.val() == 0) {

// 未选择年份或者月份

$DaySelector.html(str);

} else {

$DaySelector.html(str);

var year = parseInt($YearSelector.val());

var month = parseInt($MonthSelector.val());

var dayCount = 0;

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

dayCount = 31;

break;

case 4:

case 6:

case 9:

case 11:

dayCount = 30;

break;

case 2:

dayCount = 28;

if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {

dayCount = 29;

}

break;

default:

break;

}

var daySel = $DaySelector.attr("rel");

for (var i = 1; i <= dayCount; i++) {

var sed = daySel==i?"selected":"";

var dayStr = "" + i + "";

$DaySelector.append(dayStr);

}

}

}

$MonthSelector.change(function () {

BuildDay();

});

$YearSelector.change(function () {

BuildDay();

});

if($DaySelector.attr("rel")!=""){

BuildDay();

}

} // End ms_DatePicker

});

})(jQuery);

(function($){

$.extend({

ms_DatePicker: function (options) {

var defaults = {

YearSelector: "#sel_year",

MonthSelector: "#sel_month",

DaySelector: "#sel_day",

FirstText: "--",

FirstValue: 0

};

var opts = $.extend({}, defaults, options);

var $YearSelector = $(opts.YearSelector);

var $MonthSelector = $(opts.MonthSelector);

var $DaySelector = $(opts.DaySelector);

var FirstText = opts.FirstText;

var FirstValue = opts.FirstValue;

// 初始化

var str = ""+FirstText+"";

$YearSelector.html(str);

$MonthSelector.html(str);

$DaySelector.html(str);

// 年份列表

var yearNow = new Date().getFullYear();

var yearSel = $YearSelector.attr("rel");

for (var i = yearNow; i >= 1900; i--) {

var sed = yearSel==i?"selected":"";

var yearStr = ""+i+"";

$YearSelector.append(yearStr);

}

// 月份列表

var monthSel = $MonthSelector.attr("rel");

for (var i = 1; i <= 12; i++) {

var sed = monthSel==i?"selected":"";

var monthStr = ""+i+"";

$MonthSelector.append(monthStr);

}

// 日列表(仅当选择了年月)

function BuildDay() {

if ($YearSelector.val() == 0 || $MonthSelector.val() == 0) {

// 未选择年份或者月份

$DaySelector.html(str);

} else {

$DaySelector.html(str);

var year = parseInt($YearSelector.val());

var month = parseInt($MonthSelector.val());

var dayCount = 0;

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

dayCount = 31;

break;

case 4:

case 6:

case 9:

case 11:

dayCount = 30;

break;

case 2:

dayCount = 28;

if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {

dayCount = 29;

}

break;

default:

break;

}

var daySel = $DaySelector.attr("rel");

for (var i = 1; i <= dayCount; i++) {

var sed = daySel==i?"selected":"";

var dayStr = "" + i + "";

$DaySelector.append(dayStr);

}

}

}

$MonthSelector.change(function () {

BuildDay();

});

$YearSelector.change(function () {

BuildDay();

});

if($DaySelector.attr("rel")!=""){

BuildDay();

}

} // End ms_DatePicker

});

})(jQuery);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值