Jquery--年月日级联选择

     年月日级联选择在项目开发中是经常需要到的,用jquery简单写了一个脚本,以便后续使用。


 date.js:

$(document).ready(function () { var year = $("#year"); var month = $("#month"); var day = $("#day"); var date = new Date(); var y = date.getFullYear().toString(); MonDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; //初始化年份 year.get(0).options.add(new Option("请选择年", "请选择年")); for (var i = 1960; i <= y - 8; i++) { year.get(0).options.add(new Option(i, i)); } year.attr("value", "1989"); //1989应该是从数据库取出来的字段,使用ajax取出来 //初始化月份 month.get(0).options.add(new Option("请选择月", "请选择月")); for (var i = 1; i < 13; i++) { month.get(0).options.add(new Option(i, i)); } month.attr("value", "2"); //同上 //初始化天数 var mn = month.val(); var ye = year.val(); var n = MonDays[mn - 1]; if ((ye % 4 == 0 && ye % 100 != 0) || ye % 400 == 0) { if (mn == 2) { n++; } } day.get(0).options.add(new Option("请选择日", "请选择日")); for (var i = 1; i < n + 1; i++) { day.get(0).options.add(new Option(i, i)); } day.attr("value", "28"); //月份改变时加载天数 $("#month").change(function () { var mn = month.val(); var ye = year.val(); var n = MonDays[mn - 1]; day.empty(); if ((ye % 4 == 0 && ye % 100 != 0) || ye % 400 == 0) { if (mn == 2) { n++; } } day.get(0).options.add(new Option("请选择日", "请选择日")); for (var i = 1; i < n + 1; i++) { day.get(0).options.add(new Option(i, i)); } }); });

 前台页面使用的是客户端控件,其中初始化的年月日应该是用ajax从数据库中取出来。

你可能感兴趣的:(Ajax)