关于 日报 月报年报的显示问题?

reyoreyoreyo 2009-09-05 09:28:02


<html>
<head>
<script language="JavaScript">
<!--
var objReport=null;
var objYear=null;
var objMonth=null;
var objDate=null;
/*
*页面初始化
*/
function init(name){
var dlts = document.getElementsByName(name);
objReport=dlts[0];
objYear=dlts[1];
objMonth=dlts[2];
objDate=dlts[3];
objReport.attachEvent("onchange",RptChg);
objYear.attachEvent("onchange",YearChg);
objMonth.attachEvent("onchange",MonthChg);
var date = new Date();
var curYear=date.getYear();
var curMonth=date.getMonth()+1;
var curDate=date.getDate();
if(objYear == null || objMonth == null || objDate == null ){
alert("Can't find object!");
return false;
}
var str="";
optAdd(objReport,"年报");
optAdd(objReport,"月报");
optAdd(objReport,"日报");
initDltValue(objYear,2009,2009);
initDltValue(objMonth,1,12);
initDltValue(objDate,1,CalDays(curYear,curMonth));
objReport.value="日报";
objYear.value=curYear;
objMonth.value=curMonth;
objDate.value=curDate;

}
/*
*添加select的option值
*/
function initDltValue(obj,min,max){
for(var i=min;i<=max;i++)
optAdd(obj,i);
}
/*
*当报表类型改变的时候
*/
function RptChg(){
switch(objReport.options[objReport.selectedIndex].value){
case '年报':
setDisabled(false,true,true);break;
case '月报':
setDisabled(false,false,true);break;
case '日报':
setDisabled(false,false,false);break;
}
}
/*
*当年份改变的时候
*/
function YearChg(){
var dateVal=objDate.value;
objDate.innerHTML="";
initDltValue(objDate,1,CalDays(parseInt(objYear.value),parseInt(objMonth.value)));
objDate.value=dateVal;
if(objDate.selectedIndex==-1) objDate.selectedIndex=0;
}
/*
*当月份改变的时候
*/
function MonthChg(){
objDate.innerHTML="";
initDltValue(objDate,1,CalDays(parseInt(objYear.value),parseInt(objMonth.value)));
}
/*
*设置对象的disabled属性
*/
function setDisabled(a,b,c){
objYear.disabled=a;
objMonth.disabled=b;
objDate.disabled=c;
}
/*
*为select对象添加option
*/
function optAdd(obj,val){
var newOpt=document.createElement("option");
obj.add(newOpt);
newOpt.value=val;
newOpt.text=val;
}
/*
*根据年月计算天数
*/
function CalDays(year,mon){
var date= new Date(year,mon,0);
return date.getDate();

}
//-->
</script>
</head>
<body onLoad="init('dltDate');">
<table cellpadding=0 cellspacing=0 border=0 width=400>
<tr>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
</tr>
</table>
</body>
</html>



我想要实现的效果 是不管月份还是天数如果小于 10 就显示 01 02 等
...全文
506 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
reyoreyoreyo 2009-09-07
  • 打赏
  • 举报
回复
自己顶下
reyoreyoreyo 2009-09-06
  • 打赏
  • 举报
回复
版本一 JSP无法获取参数 希望大家帮忙改进一下版本二
reyoreyoreyo 2009-09-06
  • 打赏
  • 举报
回复

<%@ page language="java" contentType="text/html;charset=GB2312"%>
<%@ page import="Web.DateTime.DateTimeUtil"%>
<html>
<head>
<script type="text/javascript" src="/include/js/comm.js"></script>

<select onchange="ajax_one_change(this.options[this.selectedIndex].value)" name="rtype" id="rtype">
<option value="day">日报</option>
<option value="month">月报</option>
<option value="year">年报</option>
</select>

<select onchange="ajax_two_change(this.options[this.selectedIndex].value)" name="ryear" id="ryear" >
<%
int ny=DateTimeUtil.getYear(DateTimeUtil.getNow());
for(int y=2007;y<=ny;y++)
{
%>
<option value="<%=y%>"><%=y%></option>
<%
}
%>
</select>

<select onchange="ajax_three_change(this.options[this.selectedIndex].value)" name="rmonth" id="rmonth" >
<%
int nm=DateTimeUtil.getMonth(DateTimeUtil.getNow());
for(int m=1;m<=nm;m++)
{
if(m==nm)
{
if(m<10)
{
%>
<option value="<%=m%>" selected>0<%=m%></option>
<%
}
else
{
%>
<option value="<%=m%>" selected><%=m%></option>
<%
}
}
else
{
if(m<10)
{
%>
<option value="<%=m%>" >0<%=m%></option>
<%
}
else
{
%>
<option value="<%=m%>"><%=m%></option>
<%
}
}
}
%>
</select>

<select name="rday" id="rday" >
<%
int nd=DateTimeUtil.getDate(DateTimeUtil.getNow());
for(int d=1;d<=nd;d++)
{
if(d==nd)
{
if(d<10)
{
%>
<option value=0"<%=d%>" selected>0<%=d%></option>
<%
}
else
{
%>
<option value="<%=d%>" selected><%=d%></option>
<%
}
}
else
{
if(d<10)
{
%>
<option value=0"<%=d%>" >0<%=d%></option>
<%
}
else
{
%>
<option value="<%=d%>"><%=d%></option>
<%
}
}
}
%>
</select>
<SCRIPT language=javascript>

/*
*添加select的option值
*/
function initDltValue(obj,min,max)
{
obj.options.length=0;
for(var i=min;i<=max;i++)
if(i<10)
{
optAdd(obj,"0"+i);
}
else
{
optAdd(obj,i);
}
}

/*
*为select对象添加option
*/
function optAdd(obj,val)
{
//obj.options.add(new Option(val,val));
var newOpt=document.createElement("option");
obj.add(newOpt);
newOpt.value=val;
newOpt.text=val;
}

/*
*根据年月计算天数
*/
function CalDays(year,mon)
{
var date= new Date(year,mon,0);
return date.getDate();
}

/*
*设置对象的disabled属性
*/
function setDisabled(a,b,c)
{
$("ryear").disabled=a;
$("rmonth").disabled=b;
$("rday").disabled=c;
}
//------------------------------------------------------------
function ajax_one_change(rtype)
{
if(rtype=="year")
{
setDisabled(false,true,true);
}
else if(rtype=="month")
{
setDisabled(false,false,true);
}
else
{
setDisabled(false,false,false);
}
}

//------------------------------------------------------------
function ajax_two_change(ryear)
{
var m = $("rmonth");
initDltValue(rmonth,1,12);
initDltValue(rday,1,CalDays(ryear,m.options[m.selectedIndex].value));
}

//------------------------------------------------------------
function ajax_three_change(rmonth)
{
var y = $("ryear");
initDltValue(rmonth,1,12);
initDltValue(rday,1,23);
}

</SCRIPT>


改进的版本如上


又出了别一个问题 选择月份的时候提示出错 'option' is null or not an object 帮忙看一下
fudg1211 2009-09-06
  • 打赏
  • 举报
回复
用string的length属性
比如
var test=1;
test=test.toString;//转化为字符串

if(test.length<1){ //如果字符串位数小于1 就在前面加"0";
test="0"+test;
}
s_liangchao1s 2009-09-05
  • 打赏
  • 举报
回复


<html>
<head>
<script language="JavaScript">
<!--
var objReport=null;
var objYear=null;
var objMonth=null;
var objDate=null;
/*
*页面初始化
*/
function init(name){
var dlts = document.getElementsByName(name);
objReport=dlts[0];
objYear=dlts[1];
objMonth=dlts[2];
objDate=dlts[3];
objReport.attachEvent("onchange",RptChg);
objYear.attachEvent("onchange",YearChg);
objMonth.attachEvent("onchange",MonthChg);
var date = new Date();
var curYear=date.getYear();
var curMonth=('0' + (date.getMonth()+1)).slice(-2);
var curDate=('0' + date.getDate()).slice(-2);
if(objYear == null || objMonth == null || objDate == null ){
alert("Can't find object!");
return false;
}
var str="";
optAdd(objReport,"年报");
optAdd(objReport,"月报");
optAdd(objReport,"日报");
initDltValue(objYear,2009,2009);
initDltValue(objMonth,1,12);
initDltValue(objDate,1,CalDays(curYear,curMonth));
objReport.value="日报";
objYear.value=curYear;
objMonth.value=curMonth;
objDate.value=curDate;

}
/*
*添加select的option值
*/
function initDltValue(obj,min,max){
for(var i=min;i<=max;i++)
if(new String(min).length != 4) {
optAdd(obj,("0" + i).slice(-2));
}else {
optAdd(obj,i);
}
}
/*
*当报表类型改变的时候
*/
function RptChg(){
switch(objReport.options[objReport.selectedIndex].value){
case '年报':
setDisabled(false,true,true);break;
case '月报':
setDisabled(false,false,true);break;
case '日报':
setDisabled(false,false,false);break;
}
}
/*
*当年份改变的时候
*/
function YearChg(){
var dateVal=objDate.value;
objDate.innerHTML="";
initDltValue(objDate,1,CalDays(parseInt(objYear.value),parseInt(objMonth.value)));
objDate.value=dateVal;
if(objDate.selectedIndex==-1) objDate.selectedIndex=0;
}
/*
*当月份改变的时候
*/
function MonthChg(){
objDate.innerHTML="";
initDltValue(objDate,1,CalDays(parseInt(objYear.value),parseInt(objMonth.value)));
}
/*
*设置对象的disabled属性
*/
function setDisabled(a,b,c){
objYear.disabled=a;
objMonth.disabled=b;
objDate.disabled=c;
}
/*
*为select对象添加option
*/
function optAdd(obj,val){
var newOpt=document.createElement("option");
obj.add(newOpt);
newOpt.value=val;
newOpt.text=val;
}
/*
*根据年月计算天数
*/
function CalDays(year,mon){
var date= new Date(year,mon,0);
return date.getDate();

}
//-->
</script>
</head>
<body onLoad="init('dltDate');">
<table cellpadding=0 cellspacing=0 border=0 width=400>
<tr>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
</tr>
</table>
</body>
</html>


87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧