<option value="year" selected>年</option>
这句话有问题,一般都是一个option被选定,没有两个的 改成
<option value="year" selected>年</option>
<option value="month">月</option>
把这个<div style= "display:none"></div>去掉 同时把改成
<div id="year_select" style= "display:block">
<div id="month_select" style= "display:none">
js 为:
function selects(myselect){
if(myselect=="year") {
document.getElementById("year_select").style.display = "block"
document.getElementById("month_select").style.display = "none"
} else if(myselect=="month"){
document.getElementById("year_select").style.display = "none"
document.getElementById("month_select").style.display = "block"
}
}
默认情况下是显示<div id="year_select">这个div的,如果不想显示,则改成
<option value="date" selected>请选择日期</option>
<option value="year">年</option>
<option value="month">月</option>
然后
<div id="year_select" style= "display:none">
<div id="month_select" style= "display:none">
js改为
function selects(myselect){
if(myselect=="year") {
document.getElementById("year_select").style.display = "block"
document.getElementById("month_select").style.display = "none"
} else if(myselect=="month"){
document.getElementById("year_select").style.display = "none"
document.getElementById("month_select").style.display = "block"
} else {
document.getElementById("year_select").style.display = "none"
document.getElementById("month_select").style.display = "none"
}
}
代码太长了,你留个邮箱给我,我发给你以下是部分代码
/**//**
*tiannet添加了时间选择功能、select,object标签隐藏功能,还有其它小功能。
*使用方法:
* (1)只选择日期 <input type="text" name="date" readOnly onClick="setDay(this)">
* (2)选择日期和小时 <input type="text" name="dateh" readOnly onClick="setDayH(this)">
* (3)选择日期和小时及分钟 <input type="text" name="datehm" readOnly onClick="setDayHM(this)">
*设置参数的方法
* (1)设置日期分隔符setDateSplit(strSplit)默认为"-"
* (2)设置日期与时间之间的分隔符 setDateTimeSplit(strSplit)默认为" "
* (3)设置时间分隔符setTimeSplit(strSplit)默认为":"
* (4)设置(1),(2),(3)中的分隔符 setSplit(strDateSplit,strDateTimeSplit,strTimeSplit)
* (5)设置开始和结束年份setYearPeriod(intDateBeg,intDateEnd)
*说明:
* 默认返回的日期时间格式如同:2005-02-02 08:08
*/
//------------------ 样式定义 ---------------------------//
//功能按钮同样样式
var s_tiannet_turn_base = "height:16pxfont-size:9ptcolor:whiteborder:0 solid #CCCCCCcursor:handbackground-color:#2650A6"
//翻年、月等的按钮
var s_tiannet_turn = "width:28px" + s_tiannet_turn_base
//关闭、清空等按钮样式
var s_tiannet_turn2 = "width:22px" + s_tiannet_turn_base
//年选择下拉框
var s_tiannet_select = "width:64pxdisplay:none"
//月、时、分选择下拉框
var s_tiannet_select2 = "width:46pxdisplay:none"
//日期选择控件体的样式
var s_tiannet_body = "width:150background-color:#2650A6display:nonez-index:9998position:absolute" +
"border-left:1 solid #CCCCCCborder-top:1 solid #CCCCCCborder-right:1 solid #999999border-bottom:1 solid #999999"
//显示日的td的样式
var s_tiannet_day = "width:21pxheight:20pxbackground-color:#D8F0FCfont-size:10pt"
//字体样式
var s_tiannet_font = "color:#FFCC00font-size:9ptcursor:hand"
//链接的样式
var s_tiannet_link = "text-decoration:nonefont-size:9ptcolor:#2650A6"
//横线
var s_tiannet_line = "border-bottom:1 solid #6699CC"
//------------------ 变量定义 ---------------------------//
var tiannetYearSt = 1950//可选择的开始年份
var tiannetYearEnd = 2010//可选择的结束年份
var tiannetDateNow = new Date()
var tiannetYear = tiannetDateNow.getFullYear()//定义年的变量的初始值
var tiannetMonth = tiannetDateNow.getMonth()+1//定义月的变量的初始值
var tiannetDay = tiannetDateNow.getDate()
var tiannetHour = 8//tiannetDateNow.getHours()
var tiannetMinute = 0//tiannetDateNow.getMinutes()
var tiannetArrDay=new Array(42) //定义写日期的数组
var tiannetDateSplit = "-"//日期的分隔符号
var tiannetDateTimeSplit = " " //日期与时间之间的分隔符
var tiannetTimeSplit = ":"//时间的分隔符号
var tiannetOutObject //接收日期时间的对象
var arrTiannetHide = new Array()//被强制隐藏的标签
var m_bolShowHour = false//是否显示小时
var m_bolShowMinute = false//是否显示分钟
var m_aMonHead = new Array(12)//定义阳历中每个月的最大天数
m_aMonHead[0] = 31m_aMonHead[1] = 28m_aMonHead[2] = 31m_aMonHead[3] = 30m_aMonHead[4] = 31m_aMonHead[5] = 30
m_aMonHead[6] = 31m_aMonHead[7] = 31m_aMonHead[8] = 30m_aMonHead[9] = 31m_aMonHead[10] = 30m_aMonHead[11] = 31
// ---------------------- 用户可调用的函数 -----------------------------//
//用户主调函数-只选择日期
function setDay(obj){
tiannetOutObject = obj
//如果标签中有值,则将日期初始化为当前值
var strValue = tiannetTrim(tiannetOutObject.value)
if( strValue != "" ){
tiannetInitDate(strValue)
}
tiannetPopCalendar()
}
//用户主调函数-选择日期和小时
function setDayH(obj){
tiannetOutObject = obj
m_bolShowHour = true
//如果标签中有值,则将日期和小时初始化为当前值
var strValue = tiannetTrim(tiannetOutObject.value)
if( strValue != "" ){
tiannetInitDate(strValue.substring(0,10))
var hour = strValue.substring(11,13)
if( hour <10 ) tiannetHour = hour.substring(1,2)
}
tiannetPopCalendar()
}
//用户主调函数-选择日期和小时及分钟
function setDayHM(obj){
tiannetOutObject = obj
m_bolShowHour = true
m_bolShowMinute = true
//如果标签中有值,则将日期和小时及分钟初始化为当前值
var strValue = tiannetTrim(tiannetOutObject.value)
if( strValue != "" ){
tiannetInitDate(strValue.substring(0,10))
var time = strValue.substring(11,16)
var arr = time.split(tiannetTimeSplit)
tiannetHour = arr[0]
tiannetMinute = arr[1]
if( tiannetHour <10 ) tiannetHour = tiannetHour.substring(1,2)
if( tiannetMinute <10 ) tiannetMinute = tiannetMinute.substring(1,2)
}
tiannetPopCalendar()
}
//设置开始日期和结束日期
function setYearPeriod(intDateBeg,intDateEnd){
tiannetYearSt = intDateBeg
tiannetYearEnd = intDateEnd
}
//设置日期分隔符。默认为"-"
function setDateSplit(strDateSplit){
tiannetDateSplit = strDateSplit
}
//设置日期与时间之间的分隔符。默认为" "
function setDateTimeSplit(strDateTimeSplit){
tiannetDateTimeSplit = strDateTimeSplit
}
//设置时间分隔符。默认为":"
function setTimeSplit(strTimeSplit){
tiannetTimeSplit = strTimeSplit
}
//设置分隔符
function setSplit(strDateSplit,strDateTimeSplit,strTimeSplit){
tiannetDateSplit(strDateSplit)
tiannetDateTimeSplit(strDateTimeSplit)
tiannetTimeSplit(strTimeSplit)
}
//设置默认的日期。格式为:YYYY-MM-DD
function setDefaultDate(strDate){
tiannetYear = strDate.substring(0,4)
tiannetMonth = strDate.substring(5,7)
tiannetDay = strDate.substring(8,10)
}
//设置默认的时间。格式为:HH24:MI
<html><head>
<title>年月日三下拉框联动</title>
<meta http-equiv='Content-Type' content='text/htmlcharset=gb2312'>
</head>
<body>
<form name=form1>
<select name=YYYY onchange="YYYYMM(this.value)">
<option value="">年</option>
</select>
<select name=MM onchange="MMDD(this.value)">
<option value="">月</option>
</select>
<select name=DD>
<option value="">日</option>
</select>
</form>
<script language="JavaScript">
window.onload = function(){
strYYYY = document.form1.YYYY.outerHTML
strMM = document.form1.MM.outerHTML
strDD = document.form1.DD.outerHTML
MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
//先给年下拉框赋内容
var y = new Date().getFullYear()
var str = strYYYY.substring(0, strYYYY.length - 9)
for (var i = (y-30)i <(y+30)i++) //以今年为准,前30年,后30年
{
str += "<option value='" + i + "'>" + i + "</option>\r\n"
}
document.form1.YYYY.outerHTML = str +"</select>"
//赋月份的下拉框
var str = strMM.substring(0, strMM.length - 9)
for (var i = 1i <13i++)
{
str += "<option value='" + i + "'>" + i + "</option>\r\n"
}
document.form1.MM.outerHTML = str +"</select>"
document.form1.YYYY.value = y
document.form1.MM.value = new Date().getMonth() + 1
var n = MonHead[new Date().getMonth()]
if (new Date().getMonth() ==1 &&IsPinYear(YYYYvalue)) n++
writeDay(n)//赋日期下拉框
document.form1.DD.value = new Date().getDate()
}
function YYYYMM(str) //年发生变化时日期发生变化(主要是判断闰平年)
{
var MMvalue = document.form1.MM.options[document.form1.MM.selectedIndex].value
if (MMvalue == ""){DD.outerHTML = strDDreturn}
var n = MonHead[MMvalue - 1]
if (MMvalue ==2 &&IsPinYear(str)) n++
writeDay(n)
}
function MMDD(str) //月发生变化时日期联动
{
var YYYYvalue = document.form1.YYYY.options[document.form1.YYYY.selectedIndex].value
if (str == ""){DD.outerHTML = strDDreturn}
var n = MonHead[str - 1]
if (str ==2 &&IsPinYear(YYYYvalue)) n++
writeDay(n)
}
function writeDay(n) //据条件写日期的下拉框
{
var s = strDD.substring(0, strDD.length - 9)
for (var i=1i<(n+1)i++)
s += "<option value='" + i + "'>" + i + "</option>\r\n"
document.form1.DD.outerHTML = s +"</select>"
}
function IsPinYear(year)//判断是否闰平年
{ return(0 == year%4 &&(year%100 !=0 || year%400 == 0))}
//--></script>
</body>
</html>