parseInt要把进制加上
var clickObj;
var months = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
var today = new Date();
var todayStr = today.getFullYear()+"-"+months[today.getMonth()]+"-"+today.getDate();
var initYear = today.getFullYear();
var initMonth = today.getMonth();
function selJca(obj){
clickObj = obj;
var objOffset = obj.offset();
if (clickObj.val() != '') {//要更新值,要不永远是今天的值来初始化
var _arr = clickObj.val().split('-');
initYear =parseInt( _arr[0],10)
initMonth = parseInt(_arr[1], 10)-1;
}
// fixed absolute
$("#djcamain").css({
"position": "absolute",
"top": objOffset.top + obj.height() + 4,
"left": objOffset.left
});
$("#djcamain").fadeIn();
$("#txYear").attr("value", initYear);
$("#txMonth").empty();
for (var i = 0; i < months.length; i++){
if (i == initMonth){
$("<option selected='selected' value='"+months[i]+"'>"+months[i]+"月</option>").appendTo($("#txMonth"));
}else{
$("<option value='"+months[i]+"'>"+months[i]+"月</option>").appendTo($("#txMonth"));
}
}
createCalBody();
$("#txMonth").change(function(){
initMonth = parseInt($("#txMonth").val()) - 1;
createCalBody();
});
$("#btJcaClose").click(function(){
$("#djcamain").fadeOut();
});
$("#btJcaToday").click(function(){
var todayDate = today.getDate();
if (today.getDate() < 10){
todayDate = "0"+today.getDate();
}
$(clickObj).val(today.getFullYear()+"-"+months[today.getMonth()]+"-"+todayDate);
$("#djcamain").fadeOut();
});
if($.browser.msie){
document.getElementById("txYear").attachEvent("onpropertychange",yearChange);
}else{
document.getElementById("txYear").addEventListener("input",yearChange,false);
}
$("#jcatitle").mouseover(function(){
$(this).css({"cursor": "move"});
});
$("#jcatitle").mousedown(function(event){
var offset=$("#djcamain").offset();
x1 = event.clientX-offset.left;
y1 = event.clientY-offset.top;
$("#jcatitle").mousemove(function(event){
$("#djcamain").css("left",(event.clientX-x1)+"px");
$("#djcamain").css("top",(event.clientY-y1)+"px");
});
$("#jcatitle").mouseup(function(event){
$("#jcatitle").unbind("mousemove");
});
});
}
function yearChange(){
if ($("#txYear").val() != "" && !isNaN($("#txYear").val()) && $("#txYear").val().length == 4){
initYear = $("#txYear").val();
createCalBody();
}
}
function createCalBody(){
var dayNumOfMonth = 30;
var year = $("#txYear").val();
var month = $("#txMonth").val();
var thirtyOneDayOfMonth = "01,03,05,07,08,10,12,";
if (thirtyOneDayOfMonth.indexOf(month+",") >= 0){
dayNumOfMonth = 31;
}
if (month == "02"){
dayNumOfMonth = 28;
if (parseInt(year) % 4 == 0 && parseInt(year, 10) % 400 == 0 && parseInt(year) % 100 != 0) {
dayNumOfMonth = 29;
}
} var oneDay = new Date(parseInt(year, 10), parseInt(month, 10) - 1, 1);
// 返回值是 0(周日) 到 6(周六) 之间的一个整数
var oneDayOfWeek = oneDay.getDay();
var row = -1;
var curTr = "<tr class='tab_tr'>";
curTr += "<td width='60px'><font color='#ff0000'><strong>日</strong></font></td>";
curTr += "<td width='60px'>一</td>";
curTr += "<td width='60px'>二</td>";
curTr += "<td width='60px'>三</td>";
curTr += "<td width='60px'>四</td>";
curTr += "<td width='60px'>五</td>";
curTr += "<td width='60px'><font color='#ff0000'><strong>六</strong></font></td>";
curTr += "</tr>";
curTr += "<tr class=jca_data>";
for (var i = 0; i < oneDayOfWeek; i++){
row++;
curTr += "<td width='60px'> </td>";
}
for (var i = 0; i < dayNumOfMonth; i++){
row++;
var curDay = i + 1;
if (curDay < 10){
curDay = "0"+curDay;
}
if (todayStr == year+"-"+month+"-"+curDay){
curTr += "<td width='60px' align='center' class='jca_today' valign='middle'>"+curDay+"</td>";
}else{
curTr += "<td width='60px' align='center' valign='middle'>"+curDay+"</td>";
}
if (row == 6){
row = -1;
curTr += "</tr><tr class=jca_data>";
}
}
for (var i = 0; i < 6 - row; i++){
curTr += "<td width='60px'> </td>";
}
if (row != 6){
curTr += "</tr>";
}
$("#calbody").html(curTr);
$(".jca_data td").mouseover(function(){
$(this).css({"cursor": "hand"});
//如果鼠标移到class为stripe的表格的tr上时,执行函数
$(this).addClass("jca_td_over");}).mouseout(function(){
//给这行添加class值为over,并且当鼠标一出该行时执行函数
//移除该行的class
$(this).removeClass("jca_td_over");
})
$(".jca_data td").click(function(){
if ($(this).html().length == 2 && $("#txYear").val() != "" && $("#txMonth").val() != ""){
$(clickObj).val($("#txYear").val()+"-"+$("#txMonth").val()+"-"+$(this).html());
}
$("#djcamain").fadeOut();
});
}
var clickObj;
var months = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
var today = new Date();
var todayStr = today.getFullYear()+"-"+months[today.getMonth()]+"-"+today.getDate();
var initYear = today.getFullYear();
var initMonth = today.getMonth();
function selJca(obj){
clickObj = obj;
var objOffset = obj.offset();
if (clickObj.val() != '') {//要更新值,要不永远是今天的值来初始化
var _arr = clickObj.val().split('-');
initYear =parseInt( _arr[0],10)
initMonth = parseInt(_arr[1], 10)-1;
}
// fixed absolute
$("#djcamain").css({
"position": "absolute",
"top": objOffset.top + obj.height() + 4,
"left": objOffset.left
});
$("#djcamain").fadeIn();
$("#txYear").attr("value", initYear);
$("#txMonth").empty();
for (var i = 0; i < months.length; i++){
if (i == initMonth){
$("<option selected='selected' value='"+months[i]+"'>"+months[i]+"月</option>").appendTo($("#txMonth"));
}else{
$("<option value='"+months[i]+"'>"+months[i]+"月</option>").appendTo($("#txMonth"));
}
}
createCalBody();
$("#txMonth").change(function(){
initMonth = parseInt($("#txMonth").val()) - 1;
createCalBody();
});
$("#btJcaClose").click(function(){
$("#djcamain").fadeOut();
});
$("#btJcaToday").click(function(){
var todayDate = today.getDate();
if (today.getDate() < 10){
todayDate = "0"+today.getDate();
}
$(clickObj).val(today.getFullYear()+"-"+months[today.getMonth()]+"-"+todayDate);
$("#djcamain").fadeOut();
});
if($.browser.msie){
document.getElementById("txYear").attachEvent("onpropertychange",yearChange);
}else{
document.getElementById("txYear").addEventListener("input",yearChange,false);
}
$("#jcatitle").mouseover(function(){
$(this).css({"cursor": "move"});
});
$("#jcatitle").mousedown(function(event){
var offset=$("#djcamain").offset();
x1 = event.clientX-offset.left;
y1 = event.clientY-offset.top;
$("#jcatitle").mousemove(function(event){
$("#djcamain").css("left",(event.clientX-x1)+"px");
$("#djcamain").css("top",(event.clientY-y1)+"px");
});
$("#jcatitle").mouseup(function(event){
$("#jcatitle").unbind("mousemove");
});
});
}
function yearChange(){
if ($("#txYear").val() != "" && !isNaN($("#txYear").val()) && $("#txYear").val().length == 4){
initYear = $("#txYear").val();
createCalBody();
}
}
function createCalBody(){
var dayNumOfMonth = 30;
var year = $("#txYear").val();
var month = $("#txMonth").val();
var thirtyOneDayOfMonth = "01,03,05,07,08,10,12,";
if (thirtyOneDayOfMonth.indexOf(month+",") >= 0){
dayNumOfMonth = 31;
}
if (month == "02"){
dayNumOfMonth = 28;
if (parseInt(year) % 4 == 0 && parseInt(year, 10) % 400 == 0 && parseInt(year) % 100 != 0) {
dayNumOfMonth = 29;
}
} var oneDay = new Date(parseInt(year, 10), parseInt(month, 10) - 1, 1);
// 返回值是 0(周日) 到 6(周六) 之间的一个整数
var oneDayOfWeek = oneDay.getDay();
var row = -1;
var curTr = "<tr class='tab_tr'>";
curTr += "<td width='60px'><font color='#ff0000'><strong>日</strong></font></td>";
curTr += "<td width='60px'>一</td>";
curTr += "<td width='60px'>二</td>";
curTr += "<td width='60px'>三</td>";
curTr += "<td width='60px'>四</td>";
curTr += "<td width='60px'>五</td>";
curTr += "<td width='60px'><font color='#ff0000'><strong>六</strong></font></td>";
curTr += "</tr>";
curTr += "<tr class=jca_data>";
for (var i = 0; i < oneDayOfWeek; i++){
row++;
curTr += "<td width='60px'> </td>";
}
for (var i = 0; i < dayNumOfMonth; i++){
row++;
var curDay = i + 1;
if (curDay < 10){
curDay = "0"+curDay;
}
if (todayStr == year+"-"+month+"-"+curDay){
curTr += "<td width='60px' align='center' class='jca_today' valign='middle'>"+curDay+"</td>";
}else{
curTr += "<td width='60px' align='center' valign='middle'>"+curDay+"</td>";
}
if (row == 6){
row = -1;
curTr += "</tr><tr class=jca_data>";
}
}
for (var i = 0; i < 6 - row; i++){
curTr += "<td width='60px'> </td>";
}
if (row != 6){
curTr += "</tr>";
}
$("#calbody").html(curTr);
$(".jca_data td").mouseover(function(){
$(this).css({"cursor": "hand"});
//如果鼠标移到class为stripe的表格的tr上时,执行函数
$(this).addClass("jca_td_over");}).mouseout(function(){
//给这行添加class值为over,并且当鼠标一出该行时执行函数
//移除该行的class
$(this).removeClass("jca_td_over");
})
$(".jca_data td").click(function(){
if ($(this).html().length == 2 && $("#txYear").val() != "" && $("#txMonth").val() != ""){
$(clickObj).val($("#txYear").val()+"-"+$("#txMonth").val()+"-"+$(this).html());
}
$("#djcamain").fadeOut();
});
}
$(".jca_data td").click(function(){
if ($(this).html().length == 2 && $("#txYear").val() != "" && $("#txMonth").val() != ""){
$(clickObj).val($("#txYear").val()+"-"+$("#txMonth").val()+"-"+$(this).html());
initYear = parseInt($("#txYear").val(), 10);
initMonth = parseInt($("#txMonth").val(), 10);
}
$("#djcamain").fadeOut();
});